Java vecteur
Vecteur Java
Dans ce tutoriel, nous allons découvrir la classe Vector et comment l'utiliser. Nous apprendrons également en quoi elle est différente de la classe ArrayList et pourquoi nous devrions plutôt utiliser des listes de tableaux.
Le Vector
la classe est une implémentation du List
interface qui nous permet de créer des tableaux redimensionnables similaires à la classe ArrayList.
Vecteur Java contre ArrayList
En Java, les deux ArrayList
et Vector
implémente le List
interface et fournit les mêmes fonctionnalités. Cependant, il existe quelques différences entre eux.
Le Vector
classe synchronise chaque opération individuelle. Cela signifie que chaque fois que nous voulons effectuer une opération sur des vecteurs, le Vector
classe applique automatiquement un verrou à cette opération.
C'est parce que lorsqu'un thread accède à un vecteur, et qu'en même temps un autre thread essaie d'y accéder, une exception appelée ConcurrentModificationException
est généré. Par conséquent, cette utilisation continue du verrou 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 le Collections.synchronizedList()
méthode qui synchronise la liste dans son ensemble.
Remarque : Il est recommandé d'utiliser ArrayList
à la place de Vector
car les vecteurs ne sont pas thread-safe et sont moins efficaces.
Créer un vecteur
Voici comment nous pouvons créer des vecteurs en Java.
Vector<Type> vector = new Vector<>();
Ici, Tapez indique le type d'une liste chaînée. Par exemple,
// create Integer type linked list
Vector<Integer> vector= new Vector<>();
// create String type linked list
Vector<String> vector= new Vector<>();
Méthodes de vecteur
Le Vector
La classe fournit également les implémentations de tableau redimensionnable du List
interface (similaire au ArrayList
classer). Certains des Vector
mé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<String> 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<String> animals = new Vector<>();
animals.add("Crocodile");
animals.addAll(mammals);
System.out.println("New Vector: " + animals);
}
}
Sortie
Vector: [Dog, Horse, Cat] New Vector: [Crocodile, Dog, Horse, Cat]
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<String> 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<String> iterate = animals.iterator();
System.out.print("Vector: ");
while(iterate.hasNext()) {
System.out.print(iterate.next());
System.out.print(", ");
}
}
}
Sortie
Element at index 2: Cat Vector: Dog, Horse, Cat,
Supprimer les é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<String> 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);
}
}
Sortie
Initial Vector: [Dog, Horse, Cat] Removed Element: Horse New Vector: [Dog, Cat] Vector after clear(): []
Autres méthodes vectorielles
Méthodes | Descriptions |
---|---|
set() | change un élément du vecteur |
size() | retourne la taille du vecteur |
toArray() | convertit le vecteur en un tableau |
toString() | convertit le vecteur en une chaîne |
contains() | recherche le vecteur pour l'élément spécifié et renvoie un résultat booléen |
Java