जब LinkedHashMap.keySet() को कॉल किया जाता है, तो सेट का क्रम वापस लौटाए गए क्रम के समान होगा?क्या जावा का लिंक्ड हैशैप कुंजी के क्रम को बनाए रखता है?
उत्तर
हां।
देखें: LinkedHashMap:
यह लिंक्ड सूची यात्रा आदेश, जो आम तौर पर आदेश जिसमें कुंजी नक्शा (प्रविष्टि-आदेश) में डाला गया है परिभाषित करता है।
और HashMap#keySet प्रलेखन से:
सेट [वापस लौटे] मानचित्र के द्वारा समर्थित है, तो नक्शा करने के लिए परिवर्तन में परिलक्षित होते हैं सेट, और उपाध्यक्ष प्रतिकूल।
@ टॉम धन्यवाद, मुझे अभी भी विश्वास नहीं है कि यह स्पष्ट है। क्यों LinkedHashMap.keySet() निश्चित क्रम के साथ सेट का एक उप-वर्ग वापस नहीं करेगा? – Armand
क्योंकि अगर यह सॉर्टेडसेट वापस लौटाता है, तो LinkedHashMap आवश्यकता को जोड़ देगा कि इसकी चाबियाँ एक प्रकार के हैं जो तुलनात्मक लागू करती हैं, या एक तुलनित्र कार्य प्रदान किया जाता है। यह मानचित्र द्वारा आवश्यक नहीं है। सॉर्टेडसेट दस्तावेज़ देखें: http://download.oracle.com/javase/6/docs/api/java/util/SortedSet.html। यह आवश्यकता नहीं है, यहां तक कि उन चाबियों को भी अनुमति देता है जो एक LinkedHashMap में उपयोग किए जाने योग्य तुलनात्मक नहीं हैं, जो अधिक सामान्य मामला है। लिंक्ड हैशैप का कार्यान्वयन एक सॉर्टेडसेट भी लौटा सकता है यदि इसकी चाबियाँ तुलनात्मक हैं, लेकिन इसकी आवश्यकता नहीं है। –
बेशक, लिंक्ड हैशैप का अनुबंध कहता है कि यह इंसर्टेशन ऑर्डरिंग को बनाए रखता है, जो प्राकृतिक आदेश नहीं हो सकता है। तो उस स्थिति में, एक सॉर्टेडसेट बिल्कुल काम नहीं करेगा --- चाबियों को बस इस तरह से हल नहीं किया जाएगा। –
Yes। अपवाद यह है कि जब एक कुंजी फिर से सम्मिलित होती है, तो यह उस क्रम में दिखाई देता है जिसमें इसे पहली बार सूची में डाला गया था।
+1 उस कोने मामले पर अच्छा पकड़। –
असल में, अपवाद तब होता है जब कुंजी ** पुन: दर्ज की जाती है **, हटाई नहीं जाती है और पुन: उपयोग नहीं की जाती है।मामला तब होता है जब आप पहले से मानचित्र में मौजूद कुंजी के लिए 'put (key, value)' कहते हैं। (जावाडोक यह स्पष्ट रूप से बताता है।) –
- 1. जावा में लिंक्ड हैशैप हटाना
- 2. जावा लिंक्ड हैशैप को पहली या आखिरी प्रविष्टि
- 3. सॉर्टिंग लिंक्ड हैशैप
- 4. क्या NSNotification ऑब्जेक्ट को बनाए रखता है?
- 5. लिंक्ड हैशैप लिफो या फीफो?
- 6. क्या pushViewController नियंत्रक को बनाए रखता है?
- 7. क्या हैशटेबल सम्मिलन आदेश को बनाए रखता है?
- 8. जावा हैशैप
- 9. एलआरयू लिंक्ड हैशैप जो उपलब्ध स्मृति
- 10. क्या सीएसएस स्टाइलशीट परिभाषाओं का क्रम मायने रखता है?
- 11. क्लोजर समूह क्यों हमेशा आदेश बनाए रखता है?
- 12. लिंक्ड हैशैप <स्ट्रिंग, ऑब्जेक्ट> .clone();
- 13. क्या WHERE खंड में कॉलम का क्रम मायने रखता है?
- 14. क्या NSRLConnection अपने प्रतिनिधि को बनाए रखता है?
- 15. क्या MySQLldump अनुक्रमणिका जानकारी को बनाए रखता है?
- 16. जावा हैशैप टकराव का पता लगाता है
- 17. क्या डेटा फ़ाइल में निर्यात करते समय बीसीपी पंक्ति क्रम बनाए रखता है?
- 18. क्या जावा में सॉफ़्ट हैशैप है?
- 19. लिंक्ड हैशैप का इम्प्ला - डबल लिंक्ड लिस्ट का उपयोग करता है, एकल लिंक वाली सूची नहीं; क्यों
- 20. डेटाबेस तालिका पंक्तियों के क्रम क्रम को बनाए रखना
- 21. एआरसी विधि तर्क क्यों बनाए रखता है?
- 22. क्या लिंक्ड हैशैप में एंट्रीसेट() भी आदेश की गारंटी देता है?
- 23. टोमकैट सत्र अखंडता को कैसे बनाए रखता है?
- 24. क्या हाइबरनेट एक लिंक्ड हैशसेट के आदेश को सुरक्षित रखता है और यदि ऐसा है, तो कैसे?
- 25. लिंक्ड हैशैप के माध्यम से सूचियों के साथ पुनरावृत्त कैसे करें
- 26. एसक्यूएल - क्या कहां स्थितियों का आदेश मायने रखता है?
- 27. क्या UIView का addSubview वास्तव में दृश्य को बनाए रखता है?
- 28. एक हैशैप बनाना एक डबल कुंजी
- 29. जावा हैशैप काम करता है लेकिन इसमें शामिल है
- 30. जावा हैश मैप या पहचान हैशैप
PHP से आने वाले लोगों के लिए, मुझे यह इंगित करके मेरी सहायता करें कि एक LinkedHashMap एक PHP सरणी की तरह बहुत व्यवहार करता है। –