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

जावा में EnumMap वर्ग

Java.util.EnumMap वर्ग एनम कुंजियों के उपयोग के लिए एक विशेष मानचित्र कार्यान्वयन है। EnumMap के बारे में महत्वपूर्ण बिंदु निम्नलिखित हैं -

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

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

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

EnumMap वर्ग के निर्माता निम्नलिखित हैं -

Sr.No Constructor &Description
1 EnumMap(कक्षा keyType)
यह कंस्ट्रक्टर निर्दिष्ट कुंजी प्रकार के साथ एक खाली एनम मैप बनाता है।
2 EnumMap(EnumMap m को बढ़ाता है)
यह कंस्ट्रक्टर एक एनम मैप बनाता है जिसमें निर्दिष्ट एनम मैप के समान कुंजी प्रकार होता है, जिसमें शुरू में एक ही मैपिंग (यदि कोई हो) होता है।
3 EnumMap(मानचित्र m का विस्तार करता है)
यह कंस्ट्रक्टर निर्दिष्ट मैप से इनिशियलाइज़ किया गया एक एनम मैप बनाता है।

उदाहरण

आइए एक उदाहरण देखें -

import java.util.EnumMap;
public class Demo {
   // create an 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);
      // associate values in map1
      map1.put(Numbers.ONE, "1");
      map1.put(Numbers.TWO, "2");
      map1.put(Numbers.THREE, "3");
      map1.put(Numbers.FOUR, "4");
      // print the whole map
      System.out.println("map1:" + map1);
      // clone map1 to map2
      map2 = map1.clone();
      // print 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 {
   // create an 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);
      // assosiate values in map
      map.put(Numbers.ONE, "1");
      map.put(Numbers.TWO, "2");
      map.put(Numbers.THREE, "3");
      map.put(Numbers.FOUR, "4");
      // print the map
      System.out.println("Map: " + map);
      // print the number of mappings of this map
      System.out.println("Number of mappings:" + map.size());
      // remove value from Numbers.THREE
      map.put(Numbers.FIVE, "5");
      // print the new number of mappings of this map
      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. जावा में इंटरफ़ेस

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

  1. जावा में सार वर्ग

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

  1. जावा में एकत्रीकरण

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