2012-02-17 15 views
18

मेरे पास एक ट्रीसेट है जिसमें 100k ऑब्जेक्ट्स हैं। मेरे पास एक और तरीका है जिसके लिए ArrayList को एक param के रूप में आवश्यक है।एक TreeSet को ArrayList में कनवर्ट करना?

क्या कोई तरीका है कि मैं पूरे ट्रीसेट को फिर से शुरू किए बिना इसे पूरा कर सकता हूं और फिर प्रत्येक ऑब्जेक्ट को मैन्युअल रूप से ArrayList में जोड़ सकता हूं?

+0

यह एक मात्र संग्रह प्राप्त करने के लिए विधि हस्ताक्षर आराम करने के लिए संभव है? इस तरह कोई प्रतिलिपि की आवश्यकता नहीं है। –

उत्तर

43

कैसे इस बारे में:

new ArrayList<T>(set); 
+3

को इंगित किया है यह सबसे अच्छा है जिसे आप प्राप्त करने जा रहे हैं। कोई समाधान नहीं है जिसके लिए रैखिक समय की आवश्यकता नहीं है। –

3

ArrayList एक सुविधा की विधि addAll कि बिल अच्छी तरह से फिट बैठता है है:

final Set<Object> set = ... 
List<Object> list = new ArrayList<Object>(someBigNum); 
list.addAll(set); 
+4

कुछ बिग्नम set.size() –

+1

कुछ बिग्नम यहां बहुत भ्रामक है ... आपको बड़ी संख्या की आवश्यकता नहीं है। आपको बस set.size() की आवश्यकता है क्योंकि कुल्दीप ने –

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