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

जावा में EnumMap और HashMap के बीच अंतर

EnumMap JDK5 में पेश किया गया है। यह Enum को मानचित्र में कुंजी के रूप में उपयोग करने के लिए डिज़ाइन किया गया है। यह मानचित्र इंटरफ़ेस का कार्यान्वयन भी है। EnumMap की सभी कुंजी समान एनम प्रकार की होनी चाहिए। EnumMap में, कुंजी शून्य नहीं हो सकती है और कोई भी यह NullPointerException को फेंक देगा।

जावा डॉक्स के अनुसार -

EnumMap आंतरिक रूप से सरणियों के रूप में उपयोग करते हुए, यह प्रतिनिधित्व अत्यंत कॉम्पैक्ट और कुशल है।

हैश मैप मैप इंटरफेस का कार्यान्वयन भी है। इसका उपयोग डेटा को Key और Value फॉर्म में स्टोर करने के लिए किया जाता है। इसमें एक नल कुंजी और एकाधिक शून्य मान हो सकते हैं। हैश मैप में, कुंजियाँ एक आदिम प्रकार नहीं हो सकती हैं। जावा हैश मैप कार्यान्वयन बुनियादी संचालन (प्राप्त करें और डालें) के लिए निरंतर-समय का प्रदर्शन प्रदान करता है, यह मानते हुए कि हैश फ़ंक्शन बाल्टी के बीच तत्वों को ठीक से फैलाता है।

<टेबल> <थेड> सीनियर। नहीं।
<वें शैली ="पाठ-संरेखण:केंद्र;">कुंजी
<वें शैली ="पाठ-संरेखण:केंद्र;"> EnumMap
<वें शैली ="पाठ-संरेखण:केंद्र;"> हैश मैप

1

बुनियादी

एनम प्रकार की कुंजियों के साथ उपयोग के लिए एक विशेष मानचित्र कार्यान्वयन

हैश मैप मैप इंटरफेस का कार्यान्वयन भी है।

2

नल कुंजी

इसमें नल कुंजी नहीं हो सकती।

इसमें एक नल कुंजी और एकाधिक शून्य मान हो सकते हैं

3

प्रदर्शन

सभी ऑपरेशन निरंतर समय में निष्पादित होते हैं इसलिए यह हैश मैप से तेज है

यह हैश मैप से धीमा है

4.

आंतरिक कार्यान्वयन

यह आंतरिक रूप से ऐरे का उपयोग करता है

यह आंतरिक रूप से हैशटेबल का उपयोग करता है

5.

आदेश देना

EnumMap चाबियों को उनकी चाबियों के प्राकृतिक क्रम में संग्रहीत करता है

हैश मैप का आदेश नहीं दिया गया है

EnumMap का उदाहरण

आयात करें सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// एनम मैप बनाएं EnumMap नक्शा =नया EnumMap (LaptopEnum.class); map.put(LaptopEnum.HCL, "100"); map.put(LaptopEnum.DELL, "200"); map.put(LaptopEnum.IBM, "300"); // के लिए नक्शा प्रिंट करें (Map.Entry m:map.entrySet ()) {System.out.println(m.getKey() + "" + m.getValue ()); } }}

हैश मैप का उदाहरण

आयात करें args) {// हैश मैप मैप मैप बनाएं =नया हैश मैप (); map.put ("एचसीएल", "100"); map.put ("डेल", "200"); map.put ("आईबीएम", "300"); // के लिए नक्शा प्रिंट करें (Map.Entry m:map.entrySet ()) {System.out.println(m.getKey() + "" + m.getValue ()); } }}
  1. जावा में समवर्ती हैश मैप और सिंक्रोनाइज़्ड हैशमैप के बीच अंतर

    समवर्ती हैशमैप एक वर्ग है जिसे jdk1.5 में पेश किया गया था। समवर्ती हैश मानचित्र मानचित्र को जोड़ते या अद्यतन करते समय केवल बकेट स्तर पर ताले लागू करता है जिसे खंड कहा जाता है। तो, एक समवर्ती हैश मानचित्र मानचित्र पर समवर्ती पढ़ने और लिखने के संचालन की अनुमति देता है। सिंक्रोनाइज़्ड हैशमैप (Collect

  1. जावा में इटरेटर और एन्यूमरेशन के बीच अंतर

    इटरेटर और एन्यूमरेशन दोनों ही संग्रह से किसी तत्व को पार करने और एक्सेस करने के लिए कर्सर हैं। वे दोनों संग्रह ढांचे से संबंधित हैं। संग्रह ढांचे में JDK1.0 और Iterator में JDK.1.2 संस्करण में गणना जोड़ी गई थी। एन्यूमरेशन संग्रह में संरचनात्मक परिवर्तन नहीं कर सकता क्योंकि इसमें संग्रह में तत्व तक

  1. जावा में ऐरेलिस्ट और हैशसेट के बीच अंतर

    हैशसेट और ऐरेलिस्ट दोनों ही जावा संग्रह ढांचे के कुछ सबसे महत्वपूर्ण वर्ग हैं। ArrayList और हैशसेट के बीच महत्वपूर्ण अंतर निम्नलिखित हैं। सीनियर। नहीं. कुंजी ऐरेलिस्ट हैशसेट 1 कार्यान्वयन ArrayList सूची इंटरफ़ेस का कार्यान्वयन है। दूसरी ओर हैशसेट एक सेट इंटरफ़ेस का कार्यान्वयन है। 2 आंतरिक क