java.util.EnumMap क्लास enum कुंजियों के साथ उपयोग के लिए एक विशेष Map इम्प्लीमेंटेशन है। EnumMap के बारे में महत्वपूर्ण बिंदु निम्नलिखित हैं:
एक enum मैप में सभी कुंजियाँ एक ही enum टाइप से आनी चाहिए जो मैप बनाते समय स्पष्ट या निहित रूप से निर्दिष्ट होती है।
Enum मैप्स को उनकी कुंजियों के नेचुरल ऑर्डर में बनाए रखा जाता है।
EnumMap सिंक्रोनाइज़्ड नहीं है। यदि कई थ्रेड्स एक enum मैप को 동시에 एक्सेस करते हैं, और कम से कम एक थ्रेड मैप को संशोधित करता है, तो इसे बाहरी रूप से सिंक्रोनाइज़ किया जाना चाहिए।
EnumMap क्लास के कंस्ट्रक्टर्स निम्नलिखित हैं:
| Sr.No | कंस्ट्रक्टर और विवरण |
|---|---|
| 1 | EnumMap(Class<K> keyType) यह कंस्ट्रक्टर निर्दिष्ट कुंजी टाइप के साथ एक खाली enum मैप बनाता है। |
| 2 | EnumMap(EnumMap<K,? extends V> m) यह कंस्ट्रक्टर निर्दिष्ट enum मैप के समान कुंजी टाइप के साथ एक enum मैप बनाता है, जिसमें शुरू में वही मैपिंग्स होती हैं (यदि कोई हो)। |
| 3 | EnumMap(Map<K,? extends V> m) यह कंस्ट्रक्टर निर्दिष्ट मैप से इनिशियलाइज़्ड एक enum मैप बनाता है। |
उदाहरण
आइए एक उदाहरण देखें:
import java.util.EnumMap;
public class Demo {
// एक enum बनाएं
public enum Numbers {
ONE, TWO, THREE, FOUR, FIVE
};
public static void main(String[] args) {
EnumMap<Numbers, String> map1 = new EnumMap<Numbers, String>(Numbers.class);
EnumMap<Numbers, String> map2 = new EnumMap<Numbers, String>(Numbers.class);
// map1 में मान जोड़ें
map1.put(Numbers.ONE, "1");
map1.put(Numbers.TWO, "2");
map1.put(Numbers.THREE, "3");
map1.put(Numbers.FOUR, "4");
// पूरा मैप प्रिंट करें
System.out.println("map1:" + map1);
// map1 को map2 में क्लोन करें
map2 = map1.clone();
// map2 प्रिंट करें
System.out.println("map2:" + map2);
}
}
आउटपुट
map1:{ONE=1, TWO=2, THREE=3, FOUR=4}
map2:{ONE=1, TWO=2, THREE=3, FOUR=4}
उदाहरण
आइए एक और उदाहरण देखें जिसमें हम मैप में कुंजी-मान मैपिंग्स की संख्या प्रदर्शित कर रहे हैं:
import java.util.*;
public class EnumMapDemo {
// एक enum बनाएं
public enum Numbers {
ONE, TWO, THREE, FOUR, FIVE
};
public static void main(String[] args) {
EnumMap<Numbers, String> map = new EnumMap<Numbers, String>(Numbers.class);
// मैप में मान जोड़ें
map.put(Numbers.ONE, "1");
map.put(Numbers.TWO, "2");
map.put(Numbers.THREE, "3");
map.put(Numbers.FOUR, "4");
// मैप प्रिंट करें
System.out.println("Map: " + map);
// इस मैप की मैपिंग्स की संख्या प्रिंट करें
System.out.println("Number of mappings:" + map.size());
// Numbers.THREE से मान हटाएं
map.put(Numbers.FIVE, "5");
// इस मैप की नई मैपिंग्स की संख्या प्रिंट करें
System.out.println("Number of mappings:" + map.size());
}
}
आउटपुट
Map: {ONE=1, TWO=2, THREE=3, FOUR=4}
Number of mappings:4
Number of mappings:5