Classe Vector Java
La classe Vector implémente un tableau dynamique. Elle est similaire à ArrayList, mais les deux présentent des différences :
| Fonctionnalités | Vecteur | ArrayList |
|---|---|---|
| Synchronisation | Synchronisé (thread-safe) | Non synchronisé |
| Performance | Plus lent | Plus rapide |
| Incrément de capacité | Peut être spécifié | Fixe (50%) |
| Iterator | fail-fast | fail-fast |
| Version introduite | Java 1.0 | Java 1.2 |
Fonctionnalités :
Synchronisé: Vector est sûr pour les threads, toutes les méthodes sont synchronisées
Expansion dynamique: Il s'agrandit automatiquement lorsque le nombre d'éléments dépasse la capacité actuelle
Classe historique: Bien qu'elle soit encore utilisable, ArrayList est généralement recommandé
Implémente l'interface RandomAccess: Prend en charge l'accès aléatoire rapide
Vector est principalement utilisé lorsque vous ne connaissez pas la taille du tableau à l'avance, ou lorsque vous avez simplement besoin d'un tableau dont la taille peut changer.
La classe Vector prend en charge 4 méthodes de constructeur.
Le premier constructeur crée un vecteur par défaut avec une taille par défaut de 10 :
Vector()
Le deuxième constructeur crée un vecteur d'une taille spécifiée.
Vector(int size)
Le troisième constructeur crée un vecteur d'une taille spécifiée, et l'incrément est spécifié par incr. L'incrément indique le nombre d'éléments dont le vecteur augmente à chaque fois.
Vector(int size,int incr)
Le quatrième constructeur crée un vecteur contenant les éléments de la collection c :
Vector(Collection c)
En plus des méthodes héritées de la classe parente, Vector définit également les méthodes suivantes :
Opérations courantes
Exemple
boolean add(E e) // Ajouter un élément à la fin
void add(int index, E element) // Insérer un élément à la position spécifiée
boolean addAll(Collection<? extends E> c) // Ajouter tous les éléments de la collection
// Obtenir les éléments
E get(int index) // Obtenir l'élément à la position spécifiée
E firstElement() // Obtenir le premier élément
E lastElement() // Obtenir le dernier élément
// Supprimer les éléments
E remove(int index) // Supprimer et renvoyer l'élément à la position spécifiée
boolean remove(Object o) // Supprime la première occurrence de l'élément spécifié
void clear() // Supprime tous les éléments
// Autres opérations
int size() // Renvoie le nombre d'éléments
int capacity() // Renvoie la capacité actuelle
void ensureCapacity(int minCapacity) // Garantit au moins la capacité minimale
void trimToSize() // Ajuste la capacité à la taille actuelle
boolean contains(Object o) // Vérifie s'il contient l'élément spécifié
int indexOf(Object o) // Renvoie l'index de la première occurrence de l'élément
| Non. | Description de la méthode |
|---|---|
| 1 |
void add(int index, Object element) Insère l'élément spécifié à la position spécifiée dans ce vecteur. |
| 2 |
boolean add(Object o) Ajoute l'élément spécifié à la fin de ce vecteur. |
| 3 |
boolean addAll(Collection c) Ajoute tous les éléments de la Collection spécifiée à la fin de ce vecteur, dans l'ordre renvoyé par l'itérateur de la collection spécifiée. |
| 4 |
boolean addAll(int index, Collection c) Insère tous les éléments de la Collection spécifiée dans ce vecteur à la position spécifiée. |
| 5 |
void addElement(Object obj) Ajoute le composant spécifié à la fin de ce vecteur, en augmentant sa taille de 1. |
| 6 |
int capacity() Renvoie la capacité actuelle de ce vecteur. |
| 7 |
void clear() Supprime tous les éléments de ce vecteur. |
| 8 |
Object clone() Renvoie une copie de ce vecteur. |
| 9 |
boolean contains(Object elem) Renvoie true si ce vecteur contient l'élément spécifié. |
| 10 |
boolean containsAll(Collection c) Renvoie true si ce vecteur contient tous les éléments de la Collection spécifiée. |
| 11 |
void copyInto(Object[] anArray) Copie les composants de ce vecteur dans le tableau spécifié. |
| 12 |
Object elementAt(int index) Renvoie le composant à l'index spécifié. |
| 13 |
Enumeration elements() Renvoie une énumération des composants de ce vecteur. |
| 14 |
void ensureCapacity(int minCapacity) Augmente la capacité de ce vecteur (si nécessaire) pour garantir qu'il puisse contenir au moins le nombre de composants spécifié par l'argument de capacité minimale. |
| 15 |
boolean equals(Object o) Compare l'objet spécifié à ce vecteur pour l'égalité. |
| 16 |
Object firstElement() Renvoie la première composante (l'élément à l'index 0) de ce vecteur. |
| 17 |
Object get(int index) Renvoie l'élément à la position spécifiée dans ce vecteur. |
| 18 |
int hashCode() Renvoie la valeur du code de hachage pour ce vecteur. |
| 19 |
int indexOf(Object elem) Renvoie l'index de la première occurrence de l'élément spécifié dans ce vecteur, ou -1 si ce vecteur ne contient pas l'élément. |
| 20 |
int indexOf(Object elem, int index) Renvoie l'index de la première occurrence de l'élément spécifié dans ce vecteur, en recherchant vers l'avant à partir de index, ou -1 si l'élément n'est pas trouvé. |
| 21 |
void insertElementAt(Object obj, int index) Insère l'objet spécifié comme composant dans ce vecteur à l'index spécifié. |
| 22 |
boolean isEmpty() Teste si ce vecteur ne contient aucun composant. |
| 23 |
Object lastElement() Renvoie le dernier composant de ce vecteur. |
| 24 |
int lastIndexOf(Object elem) Renvoie l'index de la dernière occurrence de l'élément spécifié dans ce vecteur ; renvoie -1 si ce vecteur ne contient pas l'élément. |
| 25 |
int lastIndexOf(Object elem, int index) Renvoie l'index de la dernière occurrence de l'élément spécifié dans ce vecteur, en recherchant vers l'arrière à partir de index, ou -1 si l'élément n'est pas trouvé. |
| 26 |
Object remove(int index) Supprime l'élément à la position spécifiée dans ce vecteur. |
| 27 |
boolean remove(Object o) Supprime la première occurrence de l'élément spécifié dans ce vecteur ; si le vecteur ne contient pas l'élément, l'élément reste inchangé. |
| 28 |
boolean removeAll(Collection c) Supprime de ce vecteur tous les éléments contenus dans la Collection spécifiée. |
| 29 |
void removeAllElements() Supprime tous les composants de ce vecteur et définit sa taille à zéro. |
| 30 |
boolean removeElement(Object obj) Supprime de ce vecteur la première occurrence (celle à l'indice le plus faible) de l'argument. |
| 31 |
void removeElementAt(int index) Supprime le composant à l'indice spécifié. |
| 32 |
protected void removeRange(int fromIndex, int toIndex) Supprime de cette List tous les éléments dont l'indice est compris entre fromIndex (inclus) et toIndex (exclu). |
| 33 |
boolean retainAll(Collection c) Ne conserve que les éléments de ce vecteur qui sont contenus dans la Collection spécifiée. |
| 34 |
Object set(int index, Object element) Remplace l'élément à la position spécifiée dans ce vecteur par l'élément spécifié. |
| 35 |
void setElementAt(Object obj, int index) Définit le composant à l'index spécifié de ce vecteur sur l'objet spécifié. |
| 36 |
void setSize(int newSize) Définit la taille de ce vecteur. |
| 37 |
int size() Renvoie le nombre de composants dans ce vecteur. |
| 38 |
List subList(int fromIndex, int toIndex) Renvoie une vue partielle de cette List, avec des éléments allant de fromIndex (inclus) à toIndex (exclu). |
| 39 |
Object[] toArray() Renvoie un tableau contenant tous les éléments de ce vecteur dans l'ordre approprié. |
| 40 |
Object[] toArray(Object[] a) Renvoie un tableau contenant tous les éléments de ce vecteur dans l'ordre approprié ; le type à l'exécution du tableau renvoyé est celui du tableau spécifié. |
| 41 |
String toString() Renvoie une représentation sous forme de chaîne de caractères de ce vecteur, contenant la représentation String de chaque élément. |
| 42 |
void trimToSize() Réduit la capacité de ce vecteur pour qu'elle soit égale à la taille actuelle du vecteur. |
Exemple
Le programme suivant illustre plusieurs méthodes prises en charge par cette collection :
Exemple
public class VectorDemo {
public static void main(String args[]) {
// la taille initiale est 3, l'incrément est 2
Vector v = new Vector(3, 2);
System.out.println("Taille initiale : " + v.size());
System.out.println("Capacité initiale : " +
v.capacity());
v.addElement(new Integer(1));
v.addElement(new Integer(2));
v.addElement(new Integer(3));
v.addElement(new Integer(4));
System.out.println("Capacité après quatre ajouts : " +
v.capacity());
v.addElement(new Double(5.45));
System.out.println("Capacité actuelle : " +
v.capacity());
v.addElement(new Double(6.08));
v.addElement(new Integer(7));
System.out.println("Capacité actuelle : " +
v.capacity());
v.addElement(new Float(9.4));
v.addElement(new Integer(10));
System.out.println("Capacité actuelle : " +
v.capacity());
v.addElement(new Integer(11));
v.addElement(new Integer(12));
System.out.println("Premier élément : " +
(Integer)v.firstElement());
System.out.println("Dernier élément : " +
(Integer)v.lastElement());
if(v.contains(new Integer(3)))
System.out.println("Le vecteur contient 3.");
// énumérer les éléments du vecteur.
Enumeration vEnum = v.elements();
System.out.println("\nÉléments dans le vecteur :");
while(vEnum.hasMoreElements())
System.out.print(vEnum.nextElement() + " ");
System.out.println();
}
}
Le résultat de compilation et d'exécution de l'exemple ci-dessus est le suivant :
Initial size: 0 Initial capacity: 3 Capacity after four additions: 5 Current capacity: 5 Current capacity: 7 Current capacity: 9 First element: 1 Last element: 12 Vector contains 3. Elements in vector: 1 2 3 4 5.45 6.08 7 9.4 10 11 12Autres extensions
Structures de données Java