what is java vector java vector class tutorial with examples
Ce didacticiel explique tout sur la structure de données vectorielles en Java avec des exemples. Vous apprendrez à créer, initialiser, trier et utiliser un vecteur Java dans vos programmes:
Un vecteur peut être défini comme un tableau dynamique qui peut se développer ou se réduire de lui-même, c'est-à-dire que le vecteur grandira lorsque plus d'éléments lui seront ajoutés et se rétrécira lorsque des éléments en seront supprimés.
Ce comportement est différent de celui des tableaux statiques. Mais comme pour les tableaux, les éléments vectoriels sont accessibles à l'aide d'indices entiers.
=> Cliquez ici pour voir de A à Z des didacticiels de formation Java ici.
Un vecteur peut être considéré comme similaire à une autre structure de données de tableau dynamique, ArrayList à l'exception des deux différences ci-dessous:
- Le vecteur est synchronisé, c'est-à-dire que toutes les méthodes de Vector sont marquées «synchronisées» et donc une fois qu'une méthode est invoquée, la même méthode ne peut pas être invoquée à moins que l'appel précédent ne soit terminé.
- La classe vector possède de nombreuses méthodes qui ne font pas partie du framework de collections mais de ses anciennes méthodes.
Ce que vous apprendrez:
- Classe vectorielle Java
- Comment créer un vecteur en Java?
- Initialiser le vecteur
- Méthodes vectorielles en Java
- Implémentation vectorielle
- Exemple de vecteur complet
- Trier un vecteur
- Vecteur 2D (bidimensionnel)
- Convertir le vecteur en tableau
- Vecteur vs tableau
- Vecteur vs ArrayList
- Questions fréquemment posées
- Conclusion
- lecture recommandée
Classe vectorielle Java
Une classe Vector fait partie du ' java.util ”Et implémente l'interface de liste. Un vecteur est un tableau d'objets ou un vecteur d'objets.
Une déclaration de classe de la classe Vector est donnée ci-dessous:
public class Vector extends Object implements List, Cloneable, Serializable
Comme indiqué ci-dessus, une classe Vector étend ' java.lang.object »Et implémente des interfaces List, Cloneable et Serializable.
Comment créer un vecteur en Java?
Vous pouvez créer un objet Vector à l'aide de l'une des méthodes de constructeur Vector suivantes.
convertir plusieurs vidéos youtube en mp3
Prototype de constructeur | La description | |
---|---|---|
Clair | Vide clair () | Efface le vecteur de ses éléments. |
vecteur() | Il s'agit du constructeur par défaut de la classe Vector. Il crée un vecteur vide de taille 10. | |
vector (int initialCapacity) | Ce constructeur surchargé construit un objet Vector vide avec la capacité = initialCapacity. | |
vector (int initialCapacity, int capacityIncrement) | Cette méthode de constructeur crée un objet Vector vide avec initialCapacity et capacityIncrement spécifiés. | |
Vecteur (collection c) | Un objet Vector est créé avec les éléments initiaux de la collection spécifiée c. |
Examinons chacun des constructeurs pour initialiser les objets Vector.
Initialiser le vecteur
(i) Vecteur ()
Il s'agit du constructeur par défaut de la classe Vector. Lorsque vous appelez ce constructeur, un objet Vector de taille par défaut 10 est créé.
La syntaxe générale de cette méthode est:
Objet vectoriel = nouveau vecteur ();
Par exemple,
Vector vec1 = new Vector ();
L'instruction ci-dessus crée un nouveau vecteur «vec1» de taille 10.
(ii) Vecteur (int initialCapacity)
Le constructeur surchargé de la classe Vector accepte «initialCapacity» comme argument. Ce constructeur crée un objet Vector avec la capacité spécifiée.
La syntaxe générale de la méthode est:
Objet vectoriel = nouveau vecteur (initialCapacity);
Par exemple,
Vector vec1 = new Vector (10);
La déclaration de programmation ci-dessus créera un objet Vector «vec1» d’une capacité de 10, c’est-à-dire que ce vecteur peut stocker jusqu’à 10 éléments.
(iii) Vecteur (int initialCapacity, int capacityIncrement)
C'est encore un autre constructeur surchargé de la classe Vector et il crée un objet Vector avec la capacité initiale spécifiée et l'incrémentation de la capacité.
La syntaxe générale de cette méthode est:
Objet vectoriel = nouveau vecteur (initialCapacity, capacityIncrement);
Par exemple,
Vector vec1 = new Vector(5,10);
Dans la déclaration ci-dessus, la capacité initiale du vecteur est de 5 et l'incrément est de 10. Cela signifie que lorsque le 6eélément est inséré dans le vecteur, la capacité du vecteur sera incrémentée à 15 (5 + 10). De même, lorsque le 16eélément est inséré, la capacité vectorielle du vecteur sera étendue à 25 (15 +10).
(iv) Vecteur (Collection c)
Le dernier constructeur surchargé de la classe Vector prend une collection prédéfinie comme argument et crée un Vector avec tous les éléments de cette collection comme éléments.
La syntaxe générale est:
Objet vectoriel = nouveau vecteur (Collection c);
Par exemple,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
L'instruction ci-dessus créera un vecteur «vec1» avec les éléments initiaux comme {1,2,3,4, 5}.
Garder toutes ces descriptions à l'esprit nous permettra d'implémenter un programme Vector pour mieux comprendre ces constructeurs.
Méthodes vectorielles en Java
Les méthodes suivantes sont prises en charge par la classe Vector en Java.
Nom de la méthode | Prototype | La description |
---|---|---|
ajouter | Ajout booléen (E e) | Ajoute un élément donné à la fin du vecteur. |
Ajout vide (index int, élément E) | Ajoutez un élément au vecteur à l'index spécifié. | |
tout ajouter | Boolean addAll (Collection c) | Ajoute tous les éléments d'une collection donnée à la fin du vecteur. |
Boolean addAll (index int, Collection c) | Ajoute tous les éléments de la collection spécifiée à l'index spécifié. | |
addElement | void addElement (E obj) | Ajoute l'élément spécifié à la fin du vecteur en augmentant la taille du vecteur. |
Capacité | Capacité Int () | Renvoie la capacité actuelle du vecteur. |
Cloner | Clone d'objet () | Clone le vecteur. |
Contient | Boolean contient (Object o) | Vérifie si le vecteur contient l'élément spécifié. |
contientTout | Boolean containsAll (Collection c) | Vérifie si le vecteur contient tous les éléments présents dans une collection donnée. |
copyInto | Void copyInto (Object () anArray) | Copie les éléments vectoriels dans un tableau donné. |
ElementAt | E ElementAt (index int) | Renvoie l'élément vectoriel à l'index spécifié. |
Éléments | Éléments d'énumération () | Renvoie les composants énumérés pour le vecteur. |
assurerCapacité | Void ensureCapacity (int minCapacity) | Augmente la capacité du vecteur pour atteindre la capacité minimale spécifiée. |
Nom de la méthode | Prototype | La description |
---|---|---|
insertElementAt | Void insertElementAt (E obj, index int) | Insère l'objet donné dans le vecteur à l'index donné. |
Équivaut à | Boolean est égal à (objet o) | Compare le vecteur actuel avec le vecteur spécifié pour vérifier s'ils sont égaux. |
firstElement | E firstElement () | Renvoie le premier élément du vecteur à l'index 0. |
Obtenir | E get (index int) | Renvoie l'élément dans le vecteur à l'index spécifié. |
hashCode | int hashCode () | Renvoie la valeur du code de hachage pour le vecteur. |
Indice de | int indexOf (objet o) | trouve l'index de la première occurrence de l'élément donné dans le vecteur; -1 si l'élément n'est pas présent dans le vecteur. |
int indexOf (Objet o, index int) | Recherche le vecteur à partir de l'index donné vers l'avant pour l'élément spécifié; renvoie l'index si l'élément est trouvé, sinon -1 si l'élément n'est pas trouvé. | |
est vide | Booléen isEmpty () | Vérifie si le vecteur est vide. |
Itérateur | Itérateur () | Renvoie un itérateur utilisé pour parcourir les éléments du vecteur. |
lastElement | E lastElement () | Renvoie le dernier élément du vecteur. |
lastIndexOf | Int lastIndexOf (objet o) | Recherche dans le vecteur la dernière occurrence d'un élément donné et renvoie l'index, ou renvoie -1 l'élément est introuvable. |
Int lastIndexOf (Objet o, index int) | Démarre la recherche de la dernière occurrence de l'élément donné à partir de l'index donné vers l'arrière. Renvoie l'index si l'élément est trouvé, sinon renvoie -1. | |
listIterator | ListIteratorlistIterator () | Renvoie un itérateur de liste sur les éléments vectoriels. |
ListIteratorlistIterator (index int) | Renvoie un itérateur de liste sur les éléments vectoriels à partir de l'index donné. |
Nom de la méthode | Prototype | La description |
---|---|---|
removeRange | protected void removeRange (int fromIndex, int toIndex) | Supprime tous les éléments du vecteur dans la plage donnée de fromIndex (inclus), totoIndex (exclusif). |
Supprimer | E supprimer (index int) | Supprime l'élément à un index donné du vecteur. |
Boolean remove (objet o) | Supprime la première occurrence de l'élément donné du vecteur. Si l'élément n'est pas présent, rien n'arrive au vecteur | |
Enlever tout | Boolean removeAll (Collection c) | Supprime tous les éléments du vecteur qui sont présents dans la collection donnée. |
void removeAll Elements () | Supprime tous les éléments vectoriels, réduisant ainsi la taille à zéro. | |
removeElement | Boolean removeElement (Object obj) | Supprime la première occurrence de l'élément donné du vecteur. |
void removeElementAt (index int) | Supprime l'élément à l'index donné. | |
retenirTout | Boolean retentionAll (Collection c) | Contrairement à «removeAll», la méthode retentionAll conserve les éléments du vecteur qui correspondent aux éléments de la collection spécifiée. |
ensemble | Ensemble E (index int, élément E) | Définit la valeur à un index donné avec le nouvel élément fourni. |
Ensemble vide ElementAt (E obj, index int) | Définit les éléments donnés à l'index donné. | |
setSize | Void setSize (int newSize) | Définit la taille donnée pour ce vecteur. |
Taille | taille int () | Renvoie le nombre d'éléments dans ce vecteur ou la longueur du vecteur. |
sous-liste | ListsubList (intfromIndex, inttoIndex) | Renvoie une vue ou une sous-liste du vecteur allant de fromIndex à toIndex. |
toArray | Object () toArray () | Convertit le vecteur donné en un tableau contenant tous les éléments vectoriels dans un ordre donné. |
T () toArray (T () a) | Renvoie un tableau du type spécifié contenant tous les éléments vectoriels. | |
toString | Chaîne toString () | Renvoie une représentation sous forme de chaîne du vecteur. |
trimToSize | void trimToSize () | Ajuste le vecteur pour s'adapter à la taille actuelle. |
Implémentation vectorielle
Le programme Java suivant montre l'utilisation de toutes les méthodes de constructeur décrites ci-dessus.
import java.util.*; public class Main{ public static void main(String() args) { //Create vectors v1, v2,v3 and v4 Vector v1 = new Vector(); //a vector with default constructor Vector v2 = new Vector(20); // a vector of given Size //initialize vector v2 with values v2.add(10); v2.add(20); v2.add(30); Vector v3 = new Vector(30, 10); // a vector of given Size and Increment // create a vector v4 with given collection List aList = new ArrayList(); aList.add('one'); aList.add('two'); Vector v4 = new Vector(aList); //print contents of each vector System.out.println('Vector v1 Contents:' + v1); System.out.println('Vector v2 Contents:' + v2); System.out.println('Vector v3 Contents:' + v3); System.out.println('Vector v4 Contents:' + v4); } }
Production:
Le programme ci-dessus contient quatre vecteurs. La première v1 est créée avec un constructeur par défaut. Le deuxième Vector v2 est créé avec une capacité initiale de 20. Ensuite, quelques éléments sont ajoutés à la v2. Le troisième vecteur est créé avec une capacité initiale de 30 et un incrément de 10.
Ensuite, nous créons une ArrayList et créons un quatrième Vector v4 avec ArrayList comme argument. Enfin, nous affichons le contenu de chacun de ces vecteurs.
Notez le contenu du quatrième Vector v4. Comme nous avons fourni ArrayList comme argument, le contenu de ArrayList devient le contenu de la v4.
Exemple de vecteur complet
Maintenant, mettons en œuvre un autre programme qui démontrer la création de vecteurs, y ajouter des éléments et afficher son contenu.
import java.util.*; public class Main { public static void main(String args()) { //Create an empty Vector of even numbers Vector evenVector= new Vector (); //Add elements in the vector evenVector.add(2); evenVector.add(4); evenVector.add(6); evenVector.add(8); evenVector.add(10); evenVector.add(12); evenVector.add(14); evenVector.add(16); //Display the vector System.out.println('Vector evenVector contents: ' +evenVector); //delete the first occurence of an element 4 using remove method System.out.println('
Firstoccurence of element 4 removed: '+evenVector.remove((Integer)4)); //Display the vector System.out.println('
Vector contents after remove operation: ' +evenVector); //Remove the element at index 4 & display the vector System.out.println('
Remove element at index 4: ' +evenVector.remove(4)); System.out.println('
Vector contents after remove: ' +evenVector); //hashcode for the vector System.out.println('
Hash code of the vector = '+evenVector.hashCode()); //Get the element at index 1 System.out.println('
Element at index 1 is = '+evenVector.get(1)); } }
Production:
Prenons un autre exemple vectoriel. Dans ce programme, nous allons utiliser un vecteur de chaîne . Nous manipulons ce vecteur en ajoutant des éléments puis en imprimons sa taille et sa capacité.
import java.util.*; public class Main { public static void main(String args()) { // create a vector with initial capacity = 2 Vector fruits_vec = new Vector(2); //add elements to the vector fruits_vec.addElement('Grapes'); fruits_vec.addElement('Melon'); fruits_vec.addElement('Kiwi'); fruits_vec.addElement('Apple'); //print current size and capacity of the vector System.out.println('Vector Size: '+fruits_vec.size()); System.out.println('Default Vector capacity increment: '+fruits_vec.capacity()); //add more elements to the vector fruits_vec.addElement('Orange'); fruits_vec.addElement('Mango'); fruits_vec.addElement('Fig'); //print current size and capacity again System.out.println('Vector Size after addition: '+fruits_vec.size()); System.out.println('Vector Capacity after increment: '+fruits_vec.capacity()); //print vector elements Enumeration fruits_enum = fruits_vec.elements(); System.out.println('
Vector Elements are:'); while(fruits_enum.hasMoreElements()) System.out.print(fruits_enum.nextElement() + ' '); } }
Production:
Trier un vecteur
Vous pouvez également trier un vecteur selon un ordre spécifique. Pour trier un vecteur, vous devez utiliser la méthode Collections.sort () de Java Collections Framework.
L'exemple suivant montre le tri vectoriel.
import java.util.*; public class Main { public static void main(String arg()) { //Create an empty vector Vector oddVector = new Vector(); //Add elements to the vector oddVector.add(1); oddVector.add(11); oddVector.add(7); oddVector.add(3); oddVector.add(5); //print the vector elements System.out.println('Vector elements: '+oddVector); //sort vector using Collections.sort method Collections.sort(oddVector); //print sorted vector System.out.println('Vector elements after sorting: '+oddVector); } }
Production:
Le programme ci-dessus crée un vecteur de nombres impairs. Ensuite, à l'aide de la méthode Collections.sort (), le vecteur est trié.
Vecteur 2D (bidimensionnel)
Un vecteur 2d est un vecteur dont chacun de ses éléments est un vecteur. Il peut également être appelé «vecteur de vecteurs».
Un exemple ci-dessous montre le vecteur 2d.
import java.util.*; public class Main { public static void main(String args()) { //define and initialize a vector Vector inner_vec = new Vector(); inner_vec.add('Software'); inner_vec.add('Testing'); inner_vec.add('Java'); inner_vec.add('Tutorials'); //define another vector and add first vector to it. Vector outer_vec = new Vector(); outer_vec.add(inner_vec); String str; //display the contents of vector of vectors System.out.println('Contents of vector of vectors:'); for(int i=0;i Production:
pourquoi Linux est-il meilleur que Windows
Dans le programme ci-dessus, nous avons un vecteur de quatre éléments. Ensuite, nous déclarons un autre vecteur et ajoutons le vecteur précédent en tant qu'élément au deuxième vecteur. Notez la façon dont les éléments du vecteur sont accédés. En formant la boucle for, vous pouvez conclure que le premier élément du vecteur externe (à l’index 0) est le premier vecteur ou vecteur interne.
Ainsi, dans la boucle, nous conservons l'index du vecteur externe à 0 et parcourons le vecteur interne pour afficher tous les éléments.
Convertir le vecteur en tableau
Prenons l'exemple suivant de conversion d'un vecteur en tableau. Pour convertir un vecteur en tableau, nous utilisons la méthode «toArray» de la classe Vector.
Dans l'exemple de programmation suivant , nous déclarons une chaîne Vector et y ajoutons des éléments. Ensuite, en utilisant la méthode toArray de la classe Vector, nous convertissons le Vector en un tableau String en passant l'objet de tableau de chaînes en argument.
import java.util.Vector; public class Main { public static void main(String() args) { // Create a Vector of String elements Vector color_vector = new Vector(); // Add elements to Vector color_vector.add('Violet'); color_vector.add('Indigo'); color_vector.add('Blue'); color_vector.add('Green'); color_vector.add('Yellow'); color_vector.add('Orange'); color_vector.add('Red'); //Convert Vector to String Array using toArray method String() colorsArray = color_vector.toArray(new String(color_vector.size())); //print Array Elements System.out.println('String Array Elements :'); for(String val:colorsArray){ System.out.print(val + ' '); } } }
Production:
Vecteur vs tableau
Voici quelques-unes des différences entre un vecteur et un tableau.
Vecteur Déployer Réserve du stockage supplémentaire lorsque la capacité est augmentée. Ne réserve aucun stockage supplémentaire. Le vecteur est dynamique et sa taille augmente et diminue au fur et à mesure que des éléments sont ajoutés ou supprimés. Les tableaux sont statiques et leur taille reste fixe une fois déclarée. Les vecteurs ne peuvent stocker que des objets. Les tableaux peuvent stocker des types primitifs ainsi que des objets. Il fournit une méthode size () pour déterminer la taille. Fournit une propriété de longueur pour déterminer la longueur. Aucune dimension de concept mais peut être créée comme un vecteur de vecteurs, normalement appelé vecteur 2D. Les tableaux prennent en charge les dimensions. Le vecteur est synchronisé. La baie n'est pas synchronisée. Le vecteur est plus lent que le tableau. Array est plus rapide. Assure la sécurité des types en prenant en charge les génériques. Pas de support générique.
Vecteur vs ArrayList
Cette section traite de la différence entre Vector et ArrayList en Java.
Vecteur Liste des tableaux Le vecteur a une taille d'incrément en utilisant quelle taille de vecteur peut être augmentée. ArrayList ne fournit pas de taille d'incrément. Présent depuis la version initiale de Java (version JDK 1.0). Introduit en Java depuis JDK 1.2 Vector est une ancienne classe de Java. ArrayList fait partie du Java Collections Framework. Le vecteur double sa taille lorsque sa capacité est atteinte. ArrayList augmente de moitié lorsque sa capacité est atteinte. Les méthodes vectorielles sont synchronisées. ArrayList n'est pas synchronisé. Vector utilise Enumerator et Iterator pour parcourir. ArrayList utilise uniquement Iterator. Les opérations vectorielles sont plus lentes. ArrayList est plus rapide. Vector est thread-safe, ce qui signifie que l'utilisation de Vector à partir de plusieurs threads est autorisée et sûre. ArrayList n'est pas thread-safe.
Questions fréquemment posées
Q # 1) Qu'est-ce qu'un vecteur en Java?
Répondre: En Java, un vecteur peut être défini comme un tableau évolutif d'objets. Semblable aux tableaux, les éléments Vector sont également accessibles à l'aide d'indices.
Q # 2) Le vecteur est-il ordonné en Java?
Répondre: Oui. Un vecteur est ordonné et maintient l'ordre d'insertion des éléments.
Q # 3) Est-ce que Vector thread-safe en Java?
Répondre: Oui. En Java, la classe Vector est thread-safe. Comme la classe Vector est synchronisée, elle est sûre pour les threads, c'est-à-dire que vous pouvez utiliser la classe Vector à partir de plusieurs threads et qu'elle est sûre.
Q # 4) Pourquoi utilisons-nous le vecteur en Java?
Répondre: La raison la plus importante pour laquelle Vector est utilisé en Java est qu'un vecteur se développe et se réduit automatiquement. Ils sont dynamiques en raison de quoi ils sont préférés aux tableaux.
Q # 5) Quel est le meilleur - ArrayList ou vecteur?
Répondre: ArrayList en termes de performances est plus rapide que Vector car Vector est synchronisé et le rend plus lent.
Conclusion
Dans ce didacticiel, nous avons commencé avec la structure de données Vector en Java. Les vecteurs sont presque similaires à un tableau dans lequel les éléments Vector sont accessibles à l'aide d'indices familiers. Les vecteurs sont appelés tableaux dynamiques et, contrairement aux tableaux, la taille du vecteur augmente et diminue automatiquement.
Les vecteurs ont également la capacité et les fonctionnalités d'incrémentation qui peuvent être utilisées pour créer et réserver un stockage supplémentaire pour de futurs ajouts. Vector est une classe héritée du package java.util de Java et est synchronisé ainsi que thread-safe.
Ainsi, nous devrions préférer les vecteurs lorsque nous avons besoin d'une taille dynamique et également lorsque nous travaillons dans un environnement multi-thread.
=> Visitez ici pour la série exclusive de didacticiels de formation Java.
lecture recommandée
- Tutoriel JAVA pour les débutants: plus de 100 tutoriels vidéo Java pratiques
- Tutoriel de réflexion Java avec des exemples
- Tutoriel sur l'interface Java et la classe abstraite avec des exemples
- Jagged Array In Java - Tutoriel avec des exemples
- Tutoriel Java Array Length avec des exemples de code
- Comment trier un tableau en Java - Tutoriel avec des exemples
- Mot-clé Java 'this': Tutoriel avec des exemples de code
- Modificateurs d'accès en Java - Tutoriel avec des exemples