Dans ce didacticiel, nous allons découvrir la classe Vector et comment l'utiliser. Nous allons également apprendre en quoi elle est différente de la classe ArrayList et pourquoi nous devrions utiliser des listes de tableaux à la place.
La Vectorclasse est une implémentation de l' Listinterface qui nous permet de créer des tableaux redimensionnables similaires à la classe ArrayList.
Vecteur Java et ArrayList
En Java, à la fois ArrayListet Vectorimplémente l' Listinterface et fournit les mêmes fonctionnalités. Cependant, il existe des différences entre eux.
La Vectorclasse synchronise chaque opération individuelle. Cela signifie que chaque fois que nous voulons effectuer une opération sur des vecteurs, la Vectorclasse applique automatiquement un verrou à cette opération.
C'est parce que lorsqu'un thread accède à un vecteur et qu'un autre thread tente en même temps d'y accéder, une exception appelée ConcurrentModificationExceptionest générée. Par conséquent, cette utilisation continue du verrouillage pour chaque opération rend les vecteurs moins efficaces.
Cependant, dans les listes de tableaux, les méthodes ne sont pas synchronisées. Au lieu de cela, il utilise la Collections.synchronizedList()méthode qui synchronise la liste dans son ensemble.
Remarque: il est recommandé d'utiliser ArrayListà la place de Vectorcar les vecteurs ne sont pas threadsafe et sont moins efficaces.
Créer un vecteur
Voici comment créer des vecteurs en Java.
 Vector vector = new Vector(); 
Ici, Type indique le type d'une liste liée. Par exemple,
 // create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector();  
Méthodes de vecteur
La Vectorclasse fournit également les implémentations de tableau redimensionnable de l' Listinterface (similaires à la ArrayListclasse). Certaines des Vectorméthodes sont:
Ajouter des éléments au vecteur
add(element)- ajoute un élément aux vecteursadd(index, element)- ajoute un élément à la position spécifiéeaddAll(vector)- ajoute tous les éléments d'un vecteur à un autre vecteur
Par exemple,
 import java.util.Vector; class Main ( public static void main(String() args) ( Vector mammals= new Vector(); // Using the add() method mammals.add("Dog"); mammals.add("Horse"); // Using index number mammals.add(2, "Cat"); System.out.println("Vector: " + mammals); // Using addAll() Vector animals = new Vector(); animals.add("Crocodile"); animals.addAll(mammals); System.out.println("New Vector: " + animals); ) ) 
Production
Vecteur: (Chien, Cheval, Chat) Nouveau vecteur: (Crocodile, Chien, Cheval, Chat)
Accéder aux éléments vectoriels
get(index)- renvoie un élément spécifié par l'indexiterator()- renvoie un objet itérateur pour accéder séquentiellement aux éléments vectoriels
Par exemple,
 import java.util.Iterator; import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); // Using get() String element = animals.get(2); System.out.println("Element at index 2: " + element); // Using iterator() Iterator iterate = animals.iterator(); System.out.print("Vector: "); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) ) 
Production
Élément à l'index 2: Vecteur de chat: chien, cheval, chat,
Supprimer des éléments vectoriels
remove(index)- supprime un élément de la position spécifiéeremoveAll()- supprime tous les élémentsclear()- supprime tous les éléments. C'est plus efficace queremoveAll()
Par exemple,
 import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); System.out.println("Initial Vector: " + animals); // Using remove() String element = animals.remove(1); System.out.println("Removed Element: " + element); System.out.println("New Vector: " + animals); // Using clear() animals.clear(); System.out.println("Vector after clear(): " + animals); ) ) 
Production
Vecteur initial: (Chien, Cheval, Chat) Élément supprimé: Cheval Nouveau vecteur: (Chien, Chat) Vecteur après effacement (): ()
Autres méthodes vectorielles
| Méthodes | Descriptions | 
|---|---|
set() |  change un élément du vecteur | 
size() |  renvoie la taille du vecteur | 
toArray() |  convertit le vecteur en un tableau | 
toString() |  convertit le vecteur en chaîne | 
contains() |  recherche le vecteur pour l'élément spécifié et renvoie un résultat booléen | 








