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

Java में EnumMap क्लास


java.util.EnumMap क्लास enum कुंजियों के साथ उपयोग के लिए एक विशेष Map इम्प्लीमेंटेशन है। EnumMap के बारे में महत्वपूर्ण बिंदु निम्नलिखित हैं:

  • एक enum मैप में सभी कुंजियाँ एक ही enum टाइप से आनी चाहिए जो मैप बनाते समय स्पष्ट या निहित रूप से निर्दिष्ट होती है।

  • Enum मैप्स को उनकी कुंजियों के नेचुरल ऑर्डर में बनाए रखा जाता है।

  • EnumMap सिंक्रोनाइज़्ड नहीं है। यदि कई थ्रेड्स एक enum मैप को 동시에 एक्सेस करते हैं, और कम से कम एक थ्रेड मैप को संशोधित करता है, तो इसे बाहरी रूप से सिंक्रोनाइज़ किया जाना चाहिए।

EnumMap क्लास के कंस्ट्रक्टर्स निम्नलिखित हैं:

Sr.Noकंस्ट्रक्टर और विवरण
1EnumMap(Class<K> keyType)
यह कंस्ट्रक्टर निर्दिष्ट कुंजी टाइप के साथ एक खाली enum मैप बनाता है।
2EnumMap(EnumMap<K,? extends V> m)
यह कंस्ट्रक्टर निर्दिष्ट enum मैप के समान कुंजी टाइप के साथ एक enum मैप बनाता है, जिसमें शुरू में वही मैपिंग्स होती हैं (यदि कोई हो)।
3EnumMap(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

  1. - Java में इंटरफेस (Interface)

    एक इंटरफेस Java में एक रेफरेंस टाइप है। यह एक क्लास के समान है। यह एब्स्ट्रैक्ट मेथड्स का एक संग्रह है। एक क्लास इंटरफेस को इम्प्लीमेंट करती है, जिससे इंटरफेस के एब्स्ट्रैक्ट मेथड्स विरासत में मिलते हैं। एब्स्ट्रैक्ट मेथड्स के साथ, एक इंटरफेस में कॉन्स्टेंट्स, डिफ़ॉल्ट मेथड्स, स्टेटिक मेथड्स, और न

  1. - Java में Abstract Class

    अपनी घोषणा में abstract कीवर्ड वाली क्लास को abstract क्लास के रूप में जाना जाता है।Abstract क्लासेज में abstract मेथड्स हो भी सकते हैं और नहीं भी, यानी बिना बॉडी वाले मेथड्स (public void get();)लेकिन, यदि एक क्लास में कम से कम एक abstract मेथड है, तो क्लास को abstract घोषित किया जाना चाहिए।यदि एक क

  1. - Java में Aggregation

    Aggregation HAS-A संबंध को संदर्भित करता है। आइए पहले उदाहरण देखें −उदाहरणpublic class Vehicle{} public class Speed{} public class Van extends Vehicle { private Speed sp; }यह दर्शाता है कि क्लास Van HAS-A Speed। Speed के लिए एक अलग क्लास होने से, हमें Van क्लास के अंदर स्पीड से संबंधित संपूर