2010-08-09 1 views

risposta

58

Yup - basta utilizzare il costruttore che prende una raccolta come parametro:

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

Si noti che lo fa solo una copia.

+1

Grazie Jon! Molto utile! – Exile

+0

la complessità è o (n)? – amdev

+0

@amdev: Sì, esattamente. –

2

Ho appena scritto una classe per fare la stessa cosa, ma è più flessibile in quanto accetterà gli oggetti di conseguenza.

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

io non sono sicuro se è length() o size() .... ma l'idea è la seguente:

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

Perché "finalizzare"? –