इस लेख में, हम समझेंगे कि 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 | कुंजी और मान दोनों की आवश्यकता (सबसे कुशल) |
| forEach (Java 8+) | map.forEach((k,v) -> ...) | फंक्शनल स्टाइल |
| Stream API | map.entrySet().stream()... | फिल्टरिंग, मैपिंग, कलेक्टिंग |
entrySet() के साथ पूर्ण उदाहरण
// कुंजी और मान दोनों के लिए सबसे कुशल for (Map.Entryentry : 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 मानों की अनुमति देता है