Comment convertir un Vector en une List en Java

Dans ce tutoriel, on va voir comment convertir un Vector en List.

Vector est une classe concrète qui implémente l'interface java.util.List, donc techniquement il est considéré toujours comme une List. Vous pouvez écrire le code suivant pour créer un Vector:

List list = new Vector();

Ou pour une déclaration générique, supposons un Vector de type String:

List<String> list = new Vector<String>();

Dans le cas ou vous avez déjà créé un Vector et vous voulez le convertir en List qui est une implémentation plus concrète, vous pouvez le convertir en appelant la méthode Collections.list(vector.elements()) qui retourne un objet List.

Dans cet exemple, on assume qu'on a un Vector qui contient des éléments de type String. Cependant, si vous voulez avoir un type différent alors, il faut juste changer le type générique dans le code.

import java.util.Collections;
import java.util.List;
import java.util.Vector;

public class VectorToList {

public static void main(String[] args) {
Vector vec = new Vector();
//ajouter des objets
vec.add("obj1");
vec.add("obj2");
vec.add("obj3");

System.out.println("Eléments de Vector:");
for(String e:vec)
System.out.println(e);

//convertir Vector en List
List list = Collections.list(vec.elements());
//afficher les éléments de List
System.out.println("Eléments de List:");
for(String e:list)
System.out.println(e);
}
}
Exécution:

Eléments de Vector:
obj1
obj2
obj3
Eléments de List:
obj1
obj2
obj3
Si vous voulez convertir Vector en un ArrayList, qui est hérite de l'implémentation de List, vous pouvez faire ceci:

List newList = new ArrayList(vector);

Ou pour une version générique:

List<String> newList = new ArrayList<String>(vector);
Je vous suggère de lire l'article qui explique mieux la conversion d'un Vector en un ArrayList.