Vecteur Java (avec des exemples)

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 vecteurs
  • add(index, element) - ajoute un élément à la position spécifiée
  • addAll(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'index
  • iterator() - 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ée
  • removeAll() - supprime tous les éléments
  • clear()- 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

Articles intéressants...