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

जावा में HashMap और TreeMap में अंतर


इस पोस्ट में, हम जावा से जुड़े hashmap और treemap के बीच अंतर को समझेंगे।

HashMap

  • यह जावा में एक हैश टेबल है।

  • यह 'map' इंटरफेस के कार्यान्वयन पर आधारित है।

  • यह 'Map', 'Cloneable', और 'Serializable' इंटरफेस को इम्प्लीमेंट करता है।

  • यह एक सिंगल नल की अनुमति देता है।

  • यह मल्टीपल नल मानों की भी अनुमति देता है।

  • यह TreeMap की तुलना में तेज है।

  • ऐसा इसलिए है क्योंकि यह 'get' और 'put' जैसे ऑपरेशन्स के लिए कॉन्स्टेंट-टाइम परफॉरमेंस यानी O(1) प्रदान करता है।

  • यह कुंजियों पर सॉर्टिंग नहीं करता।

  • इसलिए यह HashMap में विषम तत्वों की अनुमति देता है।

  • यह तत्वों के क्रम को बनाए नहीं रखता।

  • इसका उपयोग तब किया जा सकता है जब क्रमबद्ध क्रम में key-value pair की आवश्यकता न हो।

  • यह कुंजियों की तुलना के लिए Object क्लास के 'equals' मेथड का उपयोग करता है।

  • Map क्लास का 'equals' मेथड इसे ओवरराइड करता है।

  • इसमें केवल 'KeySet', 'get', 'put' जैसे बेसिक मेथड्स होते हैं।

TreeMap

  • यह जावा में उपयोग की जाने वाली एक ट्री संरचना है।

  • यह 'map' इंटरफेस के कार्यान्वयन पर आधारित है।

  • यह 'NavigableMap', 'Cloneable', और 'Serializable' इंटरफेस को इम्प्लीमेंट करता है।

  • यह नल कुंजियों की अनुमति नहीं देता।

  • यह मल्टीपल नल मानों की अनुमति देता है।

  • यह सॉर्ट होने के कारण कुंजी के रूप में सजातीय मानों की अनुमति देता है।

  • यह HashMap की तुलना में धीमा है क्योंकि यह add(), remove() और contains() जैसे अधिकांश ऑपरेशन्स के लिए O(log(n)) जटिलता प्रदान करता है।

  • यह आंतरिक रूप से Red-Black ट्री का उपयोग करता है।

  • Red black ट्री एक सेल्फ-बैलेंसिंग बाइनरी सर्च ट्री है।

  • कुंजियों की तुलना के लिए compareTo() मेथड का उपयोग किया जाता है।

  • इसमें tailMap(), firstKey(), lastKey(), pollFirstEntry(), pollLastEntry() जैसी कई कार्यक्षमताएं हैं।

  • तत्व आरोही क्रम में सॉर्टेड हैं, जिसे नेचुरल ऑर्डर भी कहा जाता है।

  • इसका उपयोग तब किया जाता है जब आवश्यकता क्रमबद्ध क्रम में key-value pair की होती है।


  1. - जावा में ConcurrentHashMap और Synchronized HashMap के बीच अंतर

    ConcurrentHashMap एक क्लास है जिसे JDK 1.5 में पेश किया गया था। ConcurrentHashMap मैप में जोड़ते या अपडेट करते समय केवल बकेट लेवल पर लॉक लगाता है जिसे फ्रैगमेंट कहा जाता है। इसलिए, ConcurrentHashMap मैप पर कनकरेंट रीड और राइट ऑपरेशन की अनुमति देता है। Synchronized HashMap (Collections.synchronizedM

  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि

  1. - Java में ArrayList और HashSet के बीच अंतर

    HashSet और ArrayList दोनों Java कलेक्शन फ्रेमवर्क के सबसे महत्वपूर्ण क्लासेस में से कुछ हैं।ArrayList और HashSet के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।क्रमांकमुख्य बिंदुArrayListHashSet1कार्यान्वयनArrayList लिस्ट इंटरफेस का कार्यान्वयन है।दूसरी ओर HashSet सेट इंटरफेस का कार्यान्वयन है।2आंतरिक कार्या