software - java verify




हैश मैप और ट्रीमैप के बीच क्या अंतर है? (6)

इस प्रश्न का उत्तर यहां दिया गया है:

मैंने जावा सीखना शुरू कर दिया। मैं ट्रीमैप पर हैश मैप का उपयोग कब करूंगा?


अधिकांश समय HashMap उपयोग करें, लेकिन जब आपको TreeMap करने की कुंजी की आवश्यकता होती है तो आपको TreeMap उपयोग करें (जब आपको चाबियाँ फिर से चालू करने की आवश्यकता होती है)।


आप लगभग हमेशा HashMap उपयोग करते हैं, आपको केवल TreeMap उपयोग करना चाहिए यदि आपको अपनी कुंजी को एक विशिष्ट क्रम में होना चाहिए।


सारांश में:

  • हैश मैप: हैशकोड () के आधार पर लुकअप-सरणी संरचना, बराबर () कार्यान्वयन, ओ (1) डालने और खोज करने के लिए रनटाइम जटिलता, बिना छेड़छाड़
  • TreeMap: तुलना करने के लिए ट्री संरचना, () कार्यान्वयन, ओ (लॉग (एन)) डालने और खोज के लिए रनटाइम जटिलता, क्रमबद्ध

से लिया गया: हैश मैप बनाम TreeMap


सॉर्ट किए गए कुंजी स्टोर के साथ एक और अंतर TreeMap के साथ है, डेवलपर स्ट्रिंग कुंजी के साथ (स्ट्रिंग.CASE_INSENSITIVE_ORDER) दे सकता है, इसलिए मैप एक्सेस पर कुंजी की तुलना करते समय तुलनित्र कुंजी के मामले को अनदेखा करता है। हैश मैप के साथ ऐसा विकल्प देना संभव नहीं है - यह हैश मैप में हमेशा संवेदनशील संवेदनशील तुलना है।


SortedMap का एक उदाहरण है, जिसका अर्थ है कि चाबियों का क्रम क्रमबद्ध किया जा सकता है, और जब चाबियों पर पुनरावृत्ति हो जाती है, तो आप उम्मीद कर सकते हैं कि वे क्रम में होंगे।

दूसरी ओर HashMap , ऐसी कोई गारंटी नहीं देता है। इसलिए, जब हैश मैप की चाबियों पर फिर से चलते हैं, तो आप यह सुनिश्चित नहीं कर सकते कि वे किस क्रम में होंगे।

HashMap सामान्य रूप से अधिक कुशल होगा, इसलिए जब भी आपको चाबियों के क्रम की परवाह नहीं है तो इसका उपयोग करें।


HashMap मैप का उपयोग तेजी से लुकअप के लिए किया जाता है, जबकि TreeMap मैप मानचित्र पर क्रमबद्ध पुनरावृत्तियों के लिए प्रयोग किया जाता है।







java