2010-08-09 15 views

Respuesta

58

Sí - sólo tiene que utilizar el constructor que tiene una colección como parámetro:

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

Tenga en cuenta que sólo lo hace una copia superficial.

+1

Gracias Jon! ¡Muy útil! – Exile

+0

complejidad es o (n)? – amdev

+0

@amdev: Sí, exactamente. –

2

Acabo de escribir una clase para hacer lo mismo, pero es más flexible, ya que aceptará los objetos en consecuencia.

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

no estoy seguro de si es o length()size() .... pero la idea es la siguiente:

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

¿Por qué 'finalizar'? –

Cuestiones relacionadas