2010-08-09 18 views

cevap

58

Evet - sadece kendi parametre olarak bir koleksiyon alan kurucuya kullanın: sadece basit bir kopyasını yapar

Vector<String> vector = new Vector<String>(); 
// (... Populate vector here...) 
ArrayList<String> list = new ArrayList<String>(vector); 

Not.

+1

Teşekkür Jon! Çok yararlı! – Exile

+0

karmaşıklığı o (n)? – amdev

+0

@amdev: Evet, tam olarak. –

2

Sadece aynı şeyi yapmak için bir sınıf yazdım, ancak buna uygun olarak Nesneleri kabul edeceğinden daha esnektir.

public class ExteriorCastor { 
    public static ArrayList vectorToArrayList(Vector vector){ 
     if (vector == null){return null;} 
     return new ArrayList<Object>(vector); 
    } 
} 
0

Emin değilim o length() veya size() olduğunu .... ama fikir sonraki ise:

ArrayList<Object> a; 

for(int i = 0;i < Vector.length() ; i++) 

    a.add(Vector.elementAt(i); // Again... i´m not sure if this is elementAt() or get() 

Vector.finalize(); 
+0

Neden 'finalize'? –