मुझे जावा सूची में उदाहरण के नामों के लिए बड़ी मात्रा में जानकारी स्टोर करने की आवश्यकता है। वस्तुओं की संख्या बदल सकती है (या संक्षेप में मैं आकार को पूर्वनिर्धारित नहीं कर सकता)। मेरा मानना है कि स्मृति आवंटन परिप्रेक्ष्य से लिंक्डलिस्ट आरेलिस्ट के मुकाबले एक बेहतर विकल्प होगा, क्योंकि एक बार अधिकतम आकार पहुंचने के बाद एक ऐरेलिस्ट के लिए, स्वचालित रूप से स्मृति आवंटन युगल होता है और इसलिए हमेशा आवंटित होने वाली अधिक स्मृति का मौका होता है क्या ज़रूरत है।स्मृति आवंटन परिप्रेक्ष्य से ArrayList बनाम LinkedList
मैं अन्य पदों से यहां समझता हूं कि लिंक्डलिस्ट में संग्रहीत व्यक्तिगत तत्व एक ऐरेलिस्ट की तुलना में अधिक स्थान लेते हैं क्योंकि लिंक्डलिस्ट को नोड जानकारी को स्टोर करने की भी आवश्यकता होती है, लेकिन मैं अभी भी परिदृश्य के लिए अनुमान लगा रहा हूं जिसे मैंने परिभाषित किया है लिंक्डलिस्ट एक बेहतर विकल्प हो सकता है । इसके अलावा, मैं प्रदर्शन पहलू (fetching, हटाना आदि) में शामिल नहीं होना चाहता, जैसा कि पहले से ही इस पर चर्चा की जा चुकी है।
ऐसा लगता है कि आपके पास पहले से ही आपका जवाब है। लिंक-सूची बेहतर होगी क्योंकि अधिकतम पहुंचने पर आकार में दोगुना नहीं होता है। मान लें कि आपके पास 2501 तक पहुंचने पर 251 नाम हैं और फिर सरणी 500 तक पहुंच जाती है। फिर आपने कुछ भी नहीं के लिए स्मृति में 24 9 अतिरिक्त स्पॉट आवंटित किए। असल में जो मैं कहने की कोशिश कर रहा हूं वह लंबे समय तक लिंक-लिस्ट> ArrayList में स्मृति तक जाता है। –
@ एरिक रॉबिन्सन: अन्य उपयोगकर्ताओं की निम्न टिप्पणियां साबित करती हैं कि मेरी समझ सही नहीं थी। आप इसे भी नोट करना चाहेंगे। धन्यवाद .. –
इस उत्तर को दो के स्मृति पदचिह्न दृश्य के लिए देखें: http://stackoverflow.com/questions/322715/when-to-use-linkedlist-over-arraylist/7671021#7671021 – Numeron