शामिल मैं अक्सर अपने आप निम्न कार्य लगता है:HashSet बनाम ArrayList प्रदर्शन
HashSet<String> set = new HashSet<String>();
//Adding elements to the set
ArrayList<String> list = new ArrayList<String> (set);
कुछ की तरह "डंपिंग" सूची में सेट की सामग्री। मैं आमतौर पर ऐसा करता हूं क्योंकि मेरे द्वारा जोड़े गए तत्वों में अक्सर डुप्लिकेट होते हैं जिन्हें मैं निकालना चाहता हूं, और यह उन्हें हटाने का एक आसान तरीका प्रतीत होता है।
मन में ही नहीं उद्देश्य से(परहेज डुप्लिकेट) मैं भी लिख सकते हैं:
ArrayList<String> list = new ArrayList<String>();
// Processing here
if (! list.contains(element)) list.add(element);
//More processing here
और इस तरह की सूची में सेट "डंपिंग" के लिए कोई जरूरत नहीं। हालांकि, मैं प्रत्येक तत्व डालने से पहले एक छोटे से जांच कर रही होगी
दो संभावनाएं के किसी भी स्पष्ट रूप से और अधिक कुशल है (जो मैं HashSet संभालने कर रहा हूँ के रूप में अच्छी तरह से करता है)?
आपके पास प्रश्न का पहला हिस्सा गलत है। डुप्लिकेट से छुटकारा पाने के लिए आप सेट में डंपिंग सूची कर रहे हैं, दूसरी तरफ नहीं, है ना? – MirMasej
आप इसका परीक्षण क्यों नहीं करते? बीटीडब्ल्यू सेट को किसी सूची में परिवर्तित करने के साथ परेशान क्यों है? सेट के माध्यम से जाना शायद बड़े सरणी के लिए तेजी से होगा। – luk32
हाय, आपकी टिप्पणियों के लिए धन्यवाद। इस परिदृश्य में मैं डेटा के साथ अपने सेट को पॉप्युलेट करता हूं (डुप्लिकेट से बचने के लिए) और उसके बाद इसे एक सूची में डंप करता हूं, इस तरह से मैं प्रभावी रूप से कोई डुप्लीज़ वाली सूची प्राप्त करता हूं। अगर मुझे सूची की आवश्यकता नहीं है तो मैं वास्तव में एक नहीं बनाऊंगा, लेकिन कभी-कभी एक प्रकार का एक प्रकार लागू होता है, और मेरे द्वारा काम किए जाने वाले कुछ कोड सूचियों की आवश्यकता होती है। – Jorge