2010-08-09 6 views

Répondre

58

Eh oui - il suffit d'utiliser le constructeur qui prend une collection comme paramètre:

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

Notez qu'il ne fait que une copie superficielle.

+1

Merci Jon! Très utile! – Exile

+0

la complexité est o (n)? – amdev

+0

@amdev: Oui, exactement. –

2

Je viens d'écrire une classe pour faire la même chose, mais elle est plus flexible car elle accepte les objets en conséquence.

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

je ne sais pas si elle est length() ou size() .... mais l'idée est la suivante:

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

Pourquoi «finaliser»? –