मैं एक और एपीआई में एक विधि बुला रहा हूं जो वस्तुओं के java.util.Collection
स्वीकार करता है। मैंने विधि को देखा है और यह अपने कार्य को करने से पहले संग्रह में सब कुछ ArrayList
में प्रतिलिपि बनाता है।java.util. सबसे निचले ओवरहेड के साथ चयन?
यह मुझे आश्चर्यचकित कर रहा है: इस विधि के लिए पैरामीटर को जल्दी से इकट्ठा करने के लिए मैं पूर्ण निम्न ओवरहेड जावा संग्रह क्या उपयोग कर सकता हूं?
+1 अच्छा जवाब। यहां तक कि यदि .toArray() का उपयोग नहीं किया जाता है, तो दूसरा विकल्प एक प्रकार का पुनरावर्तक है और एक सरणी (ArrayList में अंतर्निहित भंडारण) के माध्यम से पुनरावृत्ति करना किसी और चीज से तेज़ है। तो ArrayList किसी भी मामले में विजेता है। ArrayList के बेहतर उपयोग के लिए – rfeak
, निर्माण करते समय इसे पूर्व-आकार, उदा। 'नया ArrayList (numItems)'। –
jtahlborn
@jtahlborn: यह नहीं देख सकता कि इससे कैसे मदद मिलेगी। यदि आप पहले से ही कन्स्ट्रक्टर-दृष्टिकोण का उपयोग करते हैं, और यदि आप 'addAll' विधि का उपयोग करते हैं, तो सुनिश्चित करें कि वैसे भी तत्वों को जोड़ने से पहले क्षमता को आंतरिक रूप से बुलाया जाता है। – aioobe