2012-08-28 17 views
5

ConcurrentSkipListMap कन्स्ट्रक्टर क्यों नहीं initial capacityHashMap सेट करने की अनुमति देता है?मैं ConcurrentSkipListMap के लिए प्रारंभिक क्षमता क्यों सेट नहीं कर सकता?

+0

@ मार्कोटोपॉलिक स्कीप्लिस्ट डेटास्ट्रक्चर मेरे लिए नए हैं। मुझे एक तरह के नक्शा कार्यान्वयन की आवश्यकता है और उस मानचित्र को एकाधिक धागे से समवर्ती संशोधन को बढ़ाना होगा। हां, मैं समवर्ती स्किपलिस्टमैप की तलाश में था> मैंने पहले से ही कोक्रूरेंथमैप का उपयोग किया है और इंटियल कैपेसिटी का उपयोग किया है ताकि रीहैशिंग कभी न हो। – Geek

+0

@ गीक - एक अच्छी डेटा संरचना पुस्तक पढ़ने के लिए समय। –

+0

@StephenC पढ़ना कॉर्मन और सब कुछ अभी तक SkipLists पर नहीं गए। लाल काले पेड़ ऊपर तक कवर किया। – Geek

उत्तर

6

क्योंकि इस डेटा संरचना का समर्थन कई LinkedList है जिसके लिए प्रारंभिक क्षमता निर्माता पैरामीटर का कोई मतलब नहीं है।

हैश मैप को एक सरणी (संगत मेमोरी स्पेस) द्वारा समर्थित किया गया है जिसके लिए प्रारंभिक क्षमता निर्धारित करना समझ में आता है क्योंकि इस तालिका के शुरुआती आकार में जाकर हैश मैप एक नई तालिका को एक बड़े आकार के साथ पुन: आवंटित करने का कारण बनता है जो बहुत है महंगा।

+1

(लेकिन हैश मैप के लिए, फ्लिप-पक्ष यह है कि मानचित्र के आकार को काफी महत्व देने के लिए भी महंगा है ...) –