Vecteur en Java | Classe de vecteur Java avec exemples

Publié: 2021-05-26

En programmation, l'une des structures de données les plus couramment utilisées est Vector en Java. Les tableaux sont des structures de données statiques qui peuvent stocker des données de manière linéaire. De même, le vecteur en Java stocke également les données de manière linéaire, mais elles ne sont pas limitées à une taille fixe. Au lieu de cela, sa taille peut augmenter ou diminuer selon les besoins. La classe parent est la classe AbstractList et est implémentée sur l'interface de liste.

Avant de commencer à utiliser des vecteurs, importez-le depuis le package java.util.package comme suit :

importer java.util.Vector

Table des matières

Déclaration et évaluation des éléments d'un vecteur

Voici comment un vecteur en Java est déclaré :

public class Vector<V> étend AbstractList<V>

implémente List<V>, RandomAccess, Cloneable, Serializable

Ici, V est le type d'élément qui peut être int, string, char, etc.

Comme nous accédons aux membres de données dans les tableaux, nous pouvons également le faire dans les vecteurs, en utilisant l'index de l'élément. Par exemple, le deuxième élément du vecteur E est accessible en tant que E[2].

Quelques erreurs courantes commises lors de la déclaration d'un vecteur en Java :

  • Une IllegalArgumentException est levée si la taille initiale du vecteur est une valeur négative
  • Une NullPointerException est levée si la collection spécifiée est nulle
  • La taille du vecteur est inférieure ou égale à la capacité du vecteur
  • La capacité est doublée à chaque cycle d'incrément si l'incrément vectoriel n'est pas spécifié

Constructeurs

1. Vecteur (int initialCapacity, int Incrément)

Cela crée un vecteur en Java avec une capacité initiale telle que spécifiée, et l'incrément est également spécifié. Avec incrément, le nombre d'éléments alloués à chaque fois que le vecteur est redimensionné vers le haut est spécifié.

Syntaxe : Vector<V> e = new Vector<V>(int initialCapacity, int Increment) ;

2. Vecteur (int capacité initiale)

Il crée un vecteur en Java avec une capacité initiale égale à la taille spécifiée.

Syntaxe : Vector<V> e = new Vector<V>(int initialCapacity);

3. Vecteur()

Il crée un vecteur en Java avec une capacité initiale par défaut de 10.

Syntaxe : Vector<V> e = new Vector<V>();

4. Vecteur (Collection c)

Il crée un vecteur en java dont les éléments sont ceux de la collection c.

Syntaxe : Vector<V> e = new Vector<V>(Collection c);

Voici un exemple pour démontrer la création et l'utilisation d'un vecteur en java :

Code

importer java.util.* ;

classe publique principale{

public static void main(String[] args)

{

// Crée un vecteur par défaut

Vecteur a = nouveau vecteur();

// Crée un vecteur de taille spécifiée

Vecteur b = nouveau vecteur(20);

// Crée un vecteur de taille et d'incrément spécifiés

Vecteur c = nouveau vecteur(30,10);

b.add(100);

b.add(200);

b.add(300);

// Crée un vecteur avec une collection spécifiée

Vecteur d = nouveau vecteur(b)

System.out.println("Vecteur a de capacité" + a.capacity());

System.out.println("Vecteur b de capacité" + b.capacity());

System.out.println("Vecteur c de capacité" + c.capacity());

System.out.println("Vecteur d de capacité" + d.capacity());

}}

Sortir

Remarque : .capacity() est utilisé pour renvoyer la capacité du vecteur.

Un vecteur en Java a trois paramètres protégés comme suit :

1. Int elementCount () - Il indique le nombre d'éléments qu'un vecteur contient

2. Int capcityIncremen() - Lorsque la taille du vecteur devient supérieure à la capacité, la capacité est automatiquement augmentée avec cela.

3. Object[] elementData() - Les éléments du vecteur sont stockés dans un tableau.

Méthodes

Voici quelques méthodes vectorielles fréquemment utilisées en Java :

1. Ajouter des éléments

Boolean add(Object o) - Un élément est ajouté à la fin du vecteur

Void add( int index V element) - L'élément donné est ajouté à l'index spécifié dans le vecteur

Code pour ajouter les éléments dans Vector en java :

importer java.util.* ;

importer java.io.* ;

classe publique AddElementsToVector {

public static void main(String[] arg)

{

// Crée un vecteur par défaut

Vecteur a = nouveau vecteur();

// Ajout d'éléments à l'aide de la méthode add()

a.add(1);

a.add(2);

a.add("vect");

a.add("pour");

a.add(3);

System.out.println(“Le vecteur a est ” + a);

// Crée un vecteur générique

Vecteur<Entier> b = new Vecteur<Entier>();

b.add(0);

b.add(1);

b.add(2);

System.out.println(“Le vecteur b est ” + b);

}

}

Sortir

2. Supprimer des éléments

Boolean Remove(object o) - utilisé pour supprimer l'élément à l'index spécifié dans le vecteur

Lorsque l'élément est supprimé, tous les éléments sont décalés vers la gauche pour remplir les espaces ; les indices sont ensuite mis à jour.

Code pour illustrer la suppression d'éléments du vecteur en Java :

importer java.util.* ;

importer java.io.* ;

classe publique Supprimer {

public static void main(String[] arg)

{

// Crée un vecteur par défaut

Vecteur a = nouveau vecteur();

// Ajout d'éléments à l'aide de la méthode add()

a.add(1);

a.add(2);

a.add("vect");

a.add("pour");

a.add(4);

// Supprimer l'élément

a.remove(2);

// Vérifier

System.out.println(“après suppression : ” + a);

}

}

Sortir

Checkout : Comment réussir sa carrière en Java ?

3. Changer les éléments

La méthode set() peut être utilisée pour changer l'élément après avoir ajouté les éléments. L'index de l'élément peut être référencé comme un vecteur est indexé. Cette méthode prend l'index et l'élément mis à jour.

Code pour changer les éléments du vecteur en java

importer java.util.* ;

mise à jour de la classe publique {

public static void main(String args[])

{

// Crée un vecteur vide

Vecteur<Entier> a = new Vecteur<Entier>();

// Ajouter des éléments

a.add(1);

a.add(2);

a.add(3);

a.add(10);

a.add(20);

// Afficher

System.out.println(“Vector: ” + a);

// Remplacer

System.out.println("Remplacement"

+ a.set(0, 22));

System.out.println("Remplace "

+ a.set(4, 50));

// Affiche le vecteur modifié

System.out.println("Le nouveau vecteur est :" + a);

}

}

Sortir

4. Itérer le vecteur

Il existe plusieurs façons de parcourir un vecteur. L'une d'elles est la méthode get(). Voici un programme pour itérer les éléments d'un Vector en java :

importer java.util.* ;

classe publique Itérer {

public static void main(String args[])

{

// création d'une instance de vecteur

Vecteur<Chaîne> a = nouveau Vecteur<>();

// Ajout d'éléments à l'aide de la méthode add()

a.add("vecteur");

a.add("dans");

a.add(1, "java");

// Utilise la méthode Get et la boucle for

pour (int je = 0; je < a.size(); je++) {

System.out.print(a.get(i) + ” “);

}

System.out.println();

// Utiliser pour chaque boucle

pour (String str : a)

System.out.print(str + ” “);

}

}

Sortir

Lire : Architecture et composants Java

Autres méthodes importantes

  • Int size() – utilisé pour renvoyer la taille du vecteur
  • Object get(int index) - utilisé pour renvoyer l'élément à la position spécifiée dans le vecteur
  • Object firstElement() - utilisé pour renvoyer le premier élément du vecteur en java
  • Objet lastElement() - utilisé pour renvoyer le dernier élément du vecteur en java
  • Boolean equals(Object o) - utilisé pour comparer le vecteur avec l'objet donné pour l'égalité. Renvoie vrai si tous les éléments sont vrais à leurs indices respectifs
  • Void trimtosize() - utilisé pour supprimer la capacité supplémentaire et maintenir la capacité égale à la taille

En savoir plus sur les vecteurs

  • Un vecteur en Java est une structure de données dynamique accessible à l'aide d'un index entier.
  • Bien que similaire à ArrayList, il est synchronisé et contient certaines méthodes héritées non disponibles dans le framework de collecte.
  • L'ordre d'insertion est conservé.
  • Il est rarement utilisé dans un environnement sans thread.
  • En raison de la synchronisation, les vecteurs ont de mauvaises performances dans la recherche, l'ajout, la mise à jour et la suppression d'éléments.
  • Les itérateurs de la classe vectorielle échouent rapidement et lèvent l'exception ConcurrentModificationException en cas de modification simultanée.
  • Une pile est sa sous-classe directement connue.

Allocation de mémoire dans les vecteurs

Comme vu ci-dessus, les vecteurs n'ont pas de taille définie. Au lieu de cela, un vecteur en Java peut changer sa taille dynamiquement. On suppose que les vecteurs allouent un espace indéfini pour stocker des éléments. Cependant, ce n'est pas le cas. La taille du vecteur est modifiée en fonction de deux champs : « incrément de capacité » et « capacité ».

Lorsqu'un vecteur est déclaré, un champ 'capacité' égal à la taille est alloué, et des éléments égaux à la capacité peuvent être ajoutés. Dès que l'élément suivant est inséré, la taille du tableau est augmentée de la taille 'capacityIncrement'. Cela donne au vecteur la possibilité de changer sa taille - la capacité double pour un constructeur par défaut lorsqu'un nouvel élément est inséré.

Apprenez des cours de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Avantages de Vector en Java

La taille dynamique des vecteurs évite le gaspillage de mémoire et la taille de notre structure de données peut être modifiée à tout moment au milieu du programme.

Les vecteurs et les ArrayLists sont dynamiques. Cependant, les vecteurs sont plus avantageux car :

  • Les vecteurs sont synchronisés.
  • Il a certaines fonctions héritées qui ne peuvent pas être implémentées sur ArrayLists.

Conclusion

Un vecteur en Java est un tableau dynamique sans limite de taille qui fait partie du Java Collection Framework depuis Java 1.2. Nous avons vu divers constructeurs et méthodes de vecteurs couramment utilisées dans ce blog. Il convient également de noter que la classe Vector doit être utilisée uniquement dans un environnement thread-safe.

Si vous souhaitez en savoir plus sur Java, les OOP et le développement de logiciels à pile complète, consultez le programme exécutif PG de upGrad & IIIT-B en développement de logiciels - Spécialisation en développement de pile complète qui est conçu pour les professionnels et offre plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Qu'est-ce qu'un vecteur en Java ?

Un vecteur est une structure de données en Java. Comme son nom l'indique, un vecteur est une sorte de séquence d'éléments. Il utilise un tableau dynamique qui s'agrandit et se rétrécit au fur et à mesure de l'accès. Il a une méthode size() pour obtenir la taille actuelle du vecteur et une méthode capacity() pour obtenir la capacité du vecteur. Ces deux méthodes renvoient les valeurs supérieures à zéro. La capacité du vecteur est le nombre d'éléments qui peuvent être stockés à l'intérieur du vecteur sans avoir à allouer un nouveau tableau. La taille du vecteur est le nombre d'éléments actuellement stockés dans le vecteur.

Quels sont les avantages des vecteurs par rapport aux tableaux ?

Les tableaux sont de taille fixe, ce qui signifie qu'ils ne peuvent pas s'agrandir ou se réduire selon les besoins. Les vecteurs sont implémentés sous forme de tableaux redimensionnables dynamiquement, ce qui leur permet de croître et de se réduire selon les besoins. Ceci est utile pour une croissance constante des données ; par exemple, un programme qui lit les fichiers texte ligne par ligne pourra croître en tandem avec la taille du fichier. Les vecteurs sont généralement plus efficaces que les tableaux. En effet, les vecteurs sont implémentés sous forme de tableaux de références (java.lang.Objects), tandis que les tableaux sont implémentés sous forme de tableaux d'objets.

Qu'est-ce qu'ArrayList en Java ?

La classe ArrayList représente un tableau dynamique. Il peut s'agrandir au besoin pour accueillir de nouveaux éléments. Le tableau est en fait implémenté comme une liste de références à des objets. Chaque fois qu'un élément doit être créé, une référence à un nouvel objet est rendue disponible. Cela est possible en raison du fait que ArrayList est implémenté comme une liste redimensionnable dynamiquement. ArrayList hérite la plupart de ses méthodes et champs de AbstractList. ArrayList est plus rapide qu'un tableau car il n'a pas à créer de nouveaux objets. Les méthodes de mutation qui modifient la taille du tableau, telles que l'ajout, la définition et la suppression, sont appelées méthodes destructives car elles modifient de manière permanente la taille du tableau.