Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

HashMap पर इटरेट करने के लिए Java प्रोग्राम


इस लेख में, हम समझेंगे कि HashMap पर इटरेट कैसे करें। Java HashMap Java के Map इंटरफेस की हैश टेबल आधारित कार्यान्वयन है। यह कुंजी-मान जोड़े का संग्रह है।

नीचे इसका प्रदर्शन है:

मान लीजिए हमारा इनपुट है:

इनपुट HashMap: {Java=Enterprise, JavaScript=Frontend, Mysql=Backend, Python=ML/AI}

वांछित आउटपुट होगा:

HashMap की कुंजियाँ हैं: Java, JavaScript, Mysql, Python, 
HashMap के मान हैं: Enterprise, Frontend, Backend, ML/AI,

एल्गोरिदम

चरण 1 - शुरू
चरण 2 - घोषित करें
चरण 3 - मान परिभाषित करें
चरण 4 - स्ट्रिंग्स का एक HashMap बनाएं और 'put' मेथड का उपयोग करके इसमें एलिमेंट्स इनिशियलाइज़ करें
चरण 5 - कंसोल पर HashMap प्रदर्शित करें
चरण 6 - HashMap के एलिमेंट्स पर इटरेट करें, और 'keySet' मेथड का उपयोग करके प्रत्येक कुंजी प्राप्त करें
चरण 7 - इसे कंसोल पर प्रदर्शित करें
चरण 8 - रुकें

उदाहरण 1

यहाँ, हम सभी ऑपरेशन्स को 'main' फंक्शन के तहत बांधते हैं।

import java.util.HashMap;
import java.util.Map.Entry;

public class Demo {
    public static void main(String[] args) {
        System.out.println("आवश्यक पैकेज आयात किए गए हैं");
        HashMap input_map = new HashMap<>();
        input_map.put("Java", "Enterprise");
        input_map.put("Python", "ML/AI");
        input_map.put("JavaScript", "Frontend");
        input_map.put("Mysql", "Backend");
        System.out.println("HashMap परिभाषित है: " + input_map);
        
        System.out.print("\nHashMap की कुंजियाँ हैं: ");
        for (String key : input_map.keySet()) {
            System.out.print(key + ", ");
        }
        
        System.out.print("\nHashMap के मान हैं: ");
        for (String value : input_map.values()) {
            System.out.print(value + ", ");
        }
    }
}

आउटपुट

आवश्यक पैकेज आयात किए गए हैं
HashMap परिभाषित है: {Java=Enterprise, JavaScript=Frontend, Mysql=Backend, Python=ML/AI}
HashMap की कुंजियाँ हैं: Java, JavaScript, Mysql, Python, 
HashMap के मान हैं: Enterprise, Frontend, Backend, ML/AI,

उदाहरण 2

यहाँ, हम ऑपरेशन्स को फंक्शन्स में एनकैप्सुलेट करते हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रदर्शित करते हैं।

import java.util.HashMap;

class Demo {
    static void print_keys(HashMap input_map) {
        System.out.print("\nHashMap की कुंजियाँ हैं: ");
        for (String key : input_map.keySet()) {
            System.out.print(key + ", ");
        }
    }
    
    static void print_values(HashMap input_map) {
        System.out.print("\nHashMap के मान हैं: ");
        for (String value : input_map.values()) {
            System.out.print(value + ", ");
        }
    }
    
    public static void main(String[] args) {
        System.out.println("आवश्यक पैकेज आयात किए गए हैं");
        HashMap input_map = new HashMap<>();
        input_map.put("Java", "Enterprise");
        input_map.put("Python", "ML/AI");
        input_map.put("JavaScript", "Frontend");
        input_map.put("Mysql", "Backend");
        System.out.println("HashMap परिभाषित है: " + input_map);
        print_keys(input_map);
        print_values(input_map);
    }
}

आउटपुट

आवश्यक पैकेज आयात किए गए हैं
HashMap परिभाषित है: {Java=Enterprise, JavaScript=Frontend, Mysql=Backend, Python=ML/AI}
HashMap की कुंजियाँ हैं: Java, JavaScript, Mysql, Python, 
HashMap के मान हैं: Enterprise, Frontend, Backend, ML/AI,

HashMap इटरेशन के पूर्ण तरीके

तरीकाकोडउपयोग का मामला
keySet()for (K key : map.keySet())केवल कुंजियों की आवश्यकता
values()for (V value : map.values())केवल मानों की आवश्यकता
entrySet()for (Entry entry : map.entrySet())कुंजी और मान दोनों की आवश्यकता (सबसे कुशल)
forEach (Java 8+)map.forEach((k,v) -> ...)फंक्शनल स्टाइल
Stream APImap.entrySet().stream()...फिल्टरिंग, मैपिंग, कलेक्टिंग

entrySet() के साथ पूर्ण उदाहरण

// कुंजी और मान दोनों के लिए सबसे कुशल
for (Map.Entry entry : input_map.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key + " -> " + value);
}

// Java 8+ forEach
input_map.forEach((key, value) -> System.out.println(key + " -> " + value));

// Stream के साथ फिल्टरिंग
input_map.entrySet().stream()
    .filter(e -> e.getValue().contains("Backend"))
    .forEach(e -> System.out.println(e.getKey() + " -> " + e.getValue()));

महत्वपूर्ण नोट्स

  • इटरेशन ऑर्डर: HashMap - अप्रत्याशित, LinkedHashMap - इंसर्शन ऑर्डर, TreeMap - सॉर्टेड ऑर्डर
  • ConcurrentModificationException: इटरेशन के दौरान मैप संशोधित न करें
  • प्रदर्शन: entrySet() कुंजी+मान एक्सेस के लिए सबसे तेज़
  • Null कुंजी/मान: HashMap एक null कुंजी और एकाधिक null मानों की अनुमति देता है
  1. - Java 8 में इंडेक्स के साथ स्ट्रीम पर इटरेट करने का प्रोग्राम

    Java 8 में इंडेक्स के साथ स्ट्रीम पर इटरेट करने के लिए, कोड निम्नलिखित है:उदाहरण + str).forEach(System.out::println); } }आउटपुट eDemo नामक क्लास में मुख्य फंक्शन है। इस मुख्य फंक्शन में, स्ट्रिंग टाइप का ऐरे घोषित किया जाता है और AtomicInteger इंस्टेंस AtomicInteger क्लास का उपयोग करके बनाया जाता ह

  1. - प्रत्येक कैरेक्टर की घटनाओं को गिनने के लिए Java प्रोग्राम

    मान लीजिए निम्नलिखित हमारा स्ट्रिंग है: String myStr = thisisit; घटनाओं को गिनने के लिए, हम HashMap का उपयोग कर रहे हैं। containsKey() और charAt() मेथड का उपयोग करके लूप करें और ऊपर दिए गए स्ट्रिंग में प्रत्येक कैरेक्टर की घटनाओं को गिनें: = 0; i--) { if (hashMap.containsKey(myStr.charAt(i)))

  1. - पैलिंड्रोम चेक करने के लिए Java प्रोग्राम

    पैलिंड्रोम नंबर वह नंबर है जो उल्टा होने पर भी वही रहता है, उदाहरण के लिए, 121, 313, 525, आदि। उदाहरण आइए अब पैलिंड्रोम चेक करने का एक उदाहरण देखें: public class Palindrome { public static void main(String[] args) { int a = 525, revVal = 0, remainder, val; val = a; S