Comprendre Java Vector : Utilisation, Fonctionnalités et Comparaison avec ArrayList
Comprendre Java Vector
Ce guide explique la classe Java Vector, ses méthodes clés et ses différences avec ArrayList. Apprenez quand choisir Vector pour la sécurité des threads et les considérations de performance.
Java Vector vs ArrayList
À la fois ArrayList et Vector fournissent des tableaux dynamiques, mais ils diffèrent dans la gestion de la concurrence :
- Vector synchronise chaque appel de méthode, acquérant un verrou sur l'instance avant l'exécution.
- ArrayList n'est pas synchronisé par défaut ; la sécurité des threads peut être ajoutée avec
Collections.synchronizedList()si nécessaire.
En raison du verrou par opération, Vector peut engendrer une surcharge dans les environnements multi-threads, alors que ArrayList offre généralement de meilleures performances lorsque la sécurité des threads n'est pas requise.
Conseil : Préférez ArrayList pour la plupart des applications. Utilisez Vector uniquement lorsque le code hérité l'exige ou lorsque vous avez besoin d'une synchronisation intégrée sans wrappers supplémentaires.
Création d'un Vector
Vous pouvez instancier un Vector avec un type générique :
Vector<Type> vector = new Vector<>();
Exemples :
// Vector d'entiers
Vector<Integer> numbers = new Vector<>();
// Vector de chaînes
Vector<String> words = new Vector<>();
Méthodes Clés de Vector
La classe Vector offre un ensemble complet d'opérations sur les listes, reflétant ArrayList. Voici les méthodes les plus couramment utilisées :
add(E element)– ajoute un élément à la fin.add(int index, E element)– insère à une position spécifique.addAll(Collection<? extends E> c)– ajout en masse.get(int index)– récupère par index.remove(int index)– supprime par index.clear()– supprime tous les éléments.size()– nombre actuel d'éléments.contains(Object o)– vérifie l'existence.toArray()– convertit en tableau.toString()– représentation en chaîne.set(int index, E element)– remplace à l'index.
Ajout d'Éléments à un Vector
add(element)– ajoute l'élément à la fin.add(index, element)– insère à un index spécifique.addAll(vector)– ajoute tous les éléments d'un autre vector.
Exemple :
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> mammals = new Vector<>();
mammals.add("Dog");
mammals.add("Horse");
mammals.add(2, "Cat");
System.out.println("Vector: " + mammals);
Vector<String> animals = new Vector<>();
animals.add("Crocodile");
animals.addAll(mammals);
System.out.println("Nouveau Vector: " + animals);
}
}
Sortie
Vector: [Dog, Horse, Cat] Nouveau Vector: [Crocodile, Dog, Horse, Cat]
Accès aux Éléments d'un Vector
get(index)– récupère l'élément par index.iterator()– obtient un itérateur pour un accès séquentiel.
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");
String element = animals.get(2);
System.out.println("Élément à l'index 2: " + element);
Iterator<String> iter = animals.iterator();
System.out.print("Vector: ");
while(iter.hasNext()) {
System.out.print(iter.next() + ", ");
}
}
}
Sortie
Élément à l'index 2: Cat Vector: Dog, Horse, Cat,
Suppression d'Éléments d'un Vector
remove(index)– supprime l'élément à la position spécifiée.clear()– supprime efficacement tous les éléments.
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("Vector Initial: " + animals);
String removed = animals.remove(1);
System.out.println("Élément Supprimé: " + removed);
System.out.println("Nouveau Vector: " + animals);
animals.clear();
System.out.println("Vector après clear(): " + animals);
}
}
Sortie
Vector Initial: [Dog, Horse, Cat] Élément Supprimé: Horse Nouveau Vector: [Dog, Cat] Vector après clear(): []
Méthodes Supplémentaires de Vector
| Méthode | Description |
|---|---|
set(int index, E element) | Remplace l'élément à la position spécifiée. |
size() | Retourne le nombre d'éléments. |
toArray() | Convertit le contenu en tableau. |
toString() | Représentation en chaîne du vector. |
contains(Object o) | Vérifie si le vector contient l'élément spécifié. |
Java
- Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
- Commentaires Java : Types, utilisation et bonnes pratiques
- Maîtriser la boucle for améliorée en Java : Syntaxe, exemples et bonnes pratiques
- Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
- Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
- Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
- Maîtriser le try-with-resources Java : gestion automatique des ressources expliquée
- Annotations Java expliquées : types, placement et exemples pratiques
- Assertions Java : guide pratique pour détecter les bugs et assurer la fiabilité du code