2012-09-27 14 views
5

मैं एक डीटीओ ऑब्जेक्ट से बड़ी संख्या में संग्रह वापस कर रहा हूं और सोच रहा था कि कोई मुझे सही दिशा में इंगित कर सकता है या नहीं। किसी भी प्रकार का संग्रह करेगा, लेकिन मुझे नहीं पता कि कौन सी बड़ी संख्या में वस्तुओं को वापस करने के कार्य के लिए सबसे उपयुक्त है।बड़ी संख्या में डीटीओ को पुनः प्राप्त करने के लिए सबसे तेज़ जावा संग्रह क्या है?

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

+0

क्या डीटीओ अद्वितीय हैं? – RNJ

+0

हां। सभी डीटीओ अद्वितीय होंगे। – JoshC13

+2

सरणी या ArrayList – irreputable

उत्तर

3

अपरिवर्तनीय कहता है: यदि आपको एक सरल संग्रह की आवश्यकता है, तो ऐरेलिस्ट को अच्छा प्रदर्शन करना चाहिए क्योंकि यह एक ऐरे पर आधारित है जो सिस्टम फ़ंक्शंस का उपयोग करके परिभाषा द्वारा तेज़ है।

यदि आप प्रारंभिक क्षमता को उच्च मूल्य पर सेट करते हैं (यह नहीं जानते कि आप बड़ी संख्या में क्या कहते हैं), इससे भी तेज़ होगा क्योंकि इससे वृद्धिशील पुनर्वितरण की मात्रा कम हो जाती है।

किसी अन्य संग्रह में हैशकोड या मधुमक्खी सिंक्रनाइज़ करने की तरह किसी प्रकार का ओवरहेड होता है।

2

एक ArrayList सही आकार में शुरू हुआ (यदि आप जानते हैं कि आप कितने डीटीओ जोड़ रहे हैं, या ऊपरी बाउंड) सबसे सरल और सबसे छोटा Collection है। प्रारंभ में अपने आकार को सेट करके, इसे अपनी आंतरिक सरणी का आकार बदलने की आवश्यकता नहीं होगी, एक ऑपरेशन जो कचरा पैदा करता है। यह बेहतर है कि सीधे सरणी का उपयोग करना, जो वास्तव में निम्न स्तर है, और यदि इसे आकार बदलने की आवश्यकता है तो आपको मैन्युअल रूप से प्रबंधित करने की आवश्यकता होगी (यही वह है जो ArrayList आपके लिए करता है)।

प्री-साइज्ड ArrayList बनाने के लिए, ArrayList(int capacity) कन्स्ट्रक्टर का उपयोग करें।

संबंधित मुद्दे

 संबंधित मुद्दे