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:
Ou pour une déclaration générique, supposons un Vector de type 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.
Ou pour une version générique:
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;Exécution:
import java.util.List;
import java.util.Vector;
public class VectorToList {
public static void main(String[] args) {
Vectorvec = 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
Listlist = 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);
}
}
Eléments de Vector:Si vous voulez convertir Vector en un ArrayList, qui est hérite de l'implémentation de List, vous pouvez faire ceci:
obj1
obj2
obj3
Eléments de List:
obj1
obj2
obj3
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.