के रूप में केविन बोवेरसोक्स कहा गया है, यह उतना ही आसान
List<String> result = (List<String>) hMap.values().toArray()[position];
के रूप में है लेकिन यह ध्यान दिया जाना चाहिए कि यह अभी भी .toArray का उपयोग करके पुनरावृति होगा()। यह एक साधारण कथन है और मुझे यकीन नहीं है कि बेहतर प्रदर्शन के साथ कोई है, लेकिन ध्यान रखें कि जटिलता लॉग नहीं है (एन) (बी * के मामले में अनुक्रमित पहुंच की तरह), लेकिन सिर्फ n। चूंकि LinkedHashMap LinkedList पर आधारित है, इसलिए अनुक्रमिक क्रम में केवल तत्वों को यादृच्छिक रूप से एक्सेस करने का कोई तरीका नहीं है।
सूची में कलाकार एक अपरिहार्य बुराई है, क्योंकि .toArray() एक सामान्य डेटा प्रकार के बजाय ऑब्जेक्ट लौटने की पुरातन अवधारणा का पालन करता है।
हालांकि यह मानचित्र की मुख्य अवधारणा नहीं हो सकता है, LinkedHashMap सिर्फ एक मानचित्र नहीं है। यह हैश मैप बढ़ाता है, और एक विस्तारित वर्ग के रूप में, उस वर्ग की मूर्खता का समर्थन करने वाले अतिरिक्त तरीकों को लाने के लिए यह बिल्कुल ठीक है।
यदि आप स्वयं द्वारा यह डेटा संरचना चुनते हैं तो शायद यह इस कार्य के लिए सबसे अच्छा नहीं है। –
@ निकोलय कुज़नेत्सोव: क्या आप मुझे बता सकते हैं कि यह कैसे होना चाहिए? – MAC
ArrayList यदि आप केवल सूचकांक –