Différences entre Java Vector et ArrayList

La seule définition commune dont nous nous souviendrons en écrivant sur le vecteur (Java). Les vecteurs Java sont couramment utilisés à la place des tableaux. Nous pouvons donner des exemples pour le même - Alors que les données augmentent automatiquement, elles vont se développer. Nous pouvons créer un vecteur avec une taille initiale ou avec une taille initiale par défaut.

Nous verrons le code pour la taille initiale par défaut ou la taille initiale ::

  • Pour créer un vecteur avec une taille initiale par défaut
    Vecteur v = nouveau vecteur ();
  • Pour créer un vecteur avec une taille initiale
    Vecteur v = nouveau vecteur (300);

Voici les méthodes vectorielles courantes ::

  • ajouter (o)
  • clair()
  • firstElement (i)
  • listIterator ()
  • Taille()
  • toArray (Object ())

Java ArrayList est l'une des structures de données les plus simples et les plus utilisées dans les classes d'implémentation de la bibliothèque d'API Java. L'important, c'est qu'il utilise un tableau dynamique pour stocker les éléments. Une chose dont nous devons nous souvenir lors de la création de tableaux est que ceux-ci sont de longueur fixe une fois ceux-ci créés, nous ne pouvons effectuer aucune modification.

Voici les constructeurs

ArrayList () - Il aide à construire la liste de tableaux vide

ArrayList (Collection c) - Il aide à construire une liste d'éléments constructifs dans un

Collection pré-spécifiée

ArrayList (int capacity) - Il aide à construire une liste vide.

Voici les méthodes les plus couramment utilisées :: ::

  • Ajout booléen (E obj)
  • void add (int index, E obj)
  • E get (int index)
  • booléen contient (Object obj)
  • booléen isEmpty ()

Java a été introduit avec une nouvelle collection d'API en Java 2.0 pour fournir des classes structurées uniformes. Quand une nouvelle API sera introduite, il y aura des changements dans les méthodes. Maintenant, nous allons voir certaines des anciennes et nouvelles méthodes modifiées au moment du changement d'API.

Ancienne méthodeNouvelle méthode
Élément d'objetAt (int)Obtention d'objet (int)
void insertElementAt (Object, int)void add (index, Object)
void addElement (Object)add booléen (Object)
void setElementAt (int)Ensemble d'objets (int, Object)
void removeElementAt (int)void remove (int)
void removeAllElements ()void clear ()

Comparaison directe entre Java Vector et ArrayList (infographie)

Ci-dessous est la comparaison du Top 8 entre Java Vector et ArrayList

Différences clés entre Java Vector et ArrayList

Voici les listes de points, décrivez les principales différences entre Java Vector et ArrayList

ArrayList n'est pas synchronisé et n'est pas sûr pour les threads, mais Vector est synchronisé et a un thread pour appeler des méthodes à la fois. Mais pour ce qui est de la sécurité, le cas unique est ArrayList est le seul choix, mais si nous travaillons sur le multithreading, nous devons préférer les vecteurs. Si nous avons un doute ou une confusion dans les données, nous pouvons sélectionner le vecteur car dans le vecteur, nous pouvons définir la valeur d'incrément.

Un vecteur peut utiliser à la fois l'interface Enumération et Iterator pour parcourir les éléments, mais ArrayList ne peut utiliser que l'interface Iterator pour parcourir. En vecteur Si vous utilisez l'encapsuleur Integer, vous ne pourrez pas modifier la valeur entière. Dans le vecteur, les deux méthodes les plus utilisées ont Next () et next (). Les listes de tableaux sont créées avec la taille initiale, car si des objets sont ajoutés, la taille augmentera et les objets supprimant la taille diminueront automatiquement.

La classe Vector en Java implémente un tableau dynamique d'objets. Il est exactement identique au tableau, il contient des éléments accessibles à l'aide d'un simple index entier. Cependant, la taille d'un vecteur peut augmenter ou diminuer pour permettre l'ajout et la suppression d'éléments selon les besoins.

Java Vector et ArrayList fournissent tous deux un tableau redimensionnable qui signifie un tableau qui peut augmenter l'espace. Java fournit une classe vectorielle pour fournir une taille dynamique, des méthodes prédéfinies génériques et utiles (nous avons déjà vu les méthodes à la page 1). Utilisez un tableau si la taille est fixe; utilisez Vector si la taille peut changer. Java Vector et ArrayList sont tous deux basés sur un index et utilisent le tableau en interne et Java Vector vs ArrayList conservent l'ordre d'insertion des éléments. Java propose une classe ArrayList pour fournir des fonctionnalités similaires aux méthodes prédéfinies dynamiques, génériques et utiles de Vector.

Java Vector et ArrayList, les deux classes utilisées pour une utilisation dynamique des tableaux. La classe ArrayList - E spécifie le type d'objets qu'un tableau peut contenir. Ici, le tableau créé est une variable et il peut augmenter ou diminuer en fonction de l'allocation d'objet. Vector :: class Vector - E représente le type d'objet qui sera stocké dans le tableau.

Cours recommandés

  • Cours de formation sur les structures de données et les algorithmes
  • Cours de gestion des défauts
  • Programmation Shell sur le programme Cygwin

Tableau de comparaison entre Java Vector et ArrayList

Voici le tableau de comparaison entre Java Vector et ArrayList

Base de comparaisonVecteursListe des tableaux
De baseLe vecteur est la classe héritée et il est synchroniséArrayList n'est pas la classe héritée et elle n'est pas synchronisée.
TailleIl doublera presque la taille si le nombre total d'éléments augmenteArrayList augmentera de 50% de sa taille si le nombre d'éléments augmente
Croissance des donnéesLe vecteur croît et se rétrécit dynamiquement pour maintenir une utilisation optimale du stockageArrayList grandit et rétrécit dynamiquement pour maintenir une utilisation optimale du stockage
InterfaceLe vecteur utilise l'itérateur et l'interface d'énumérationArrayList utilise l'interface Iterator
PerformanceLe vecteur est lent par rapport à ArrayList car il est synchroniséArrayList est rapide en raison de la non-synchronisation
Thread SafeOuiNon
Introduit dansIntroduit dans JDK 1.0 vertionIntroduit dans JDK 1.2 vertion
Définir la taille de l'incrémentLe vecteur définit la taille de l'incrémentArrayList ne définit pas la taille de l'incrément

Conclusion Java Vector vs ArrayList

Enfin, pour conclure Java vector vs ArrayList, les deux présentent des avantages et des inconvénients. Les deux réussissent très bien sur le marché. ArrayList est la dernière fois si l'on compare avec Vector. ArrayList est préférable si vous n'avez pas besoin de synchronisation. Lorsque vous utilisez Vector ou ArrayList, essayez toujours d'initialiser la plus grande capacité dont votre programme aura besoin, car l'extension de la baie est coûteuse. je

ArrayList est synchronisé pourquoi parce que plusieurs threads peuvent être opérés sur le tableau en même temps En référence au tableau si un thread ajoute à l'objet un autre thread supprime un objet du même tableau en même temps.

Java Vector et ArrayList contiennent tous deux des références d'objet. Si le tableau est entièrement occupé et si nous voulons ajouter un nouvel objet après l'occupation complète, maintenant dans les deux cas la taille augmentera mais la principale différence vient dans la taille dans ArrayList si la taille n'est pas spécifiée, elle peut augmenter de moitié par rapport au tableau actuel mais le vecteur peut doubler la taille si la valeur d'incrément n'est pas spécifiée.

Je termine enfin en disant que préfère toujours utiliser ArrayList. Pourquoi, car ArrayList fonctionne plus rapidement et mieux que Vector.

Article recommandé

Ceci a été un guide sur les différences entre Java Vector vs ArrayList, leur signification, leur comparaison directe, leurs principales différences, leur tableau de comparaison et leur conclusion. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Performance Java vs Python: quelles sont les différences
  2. Scala vs Java Performance: quelle est la meilleure? (Infographie)
  3. Java vs JavaScript - 8 comparaison utile pour apprendre
  4. Java vs Python - Top 9 des comparaisons importantes que vous devez apprendre
  5. Java Heap vs Stack - 7 choses impressionnantes que vous devez savoir
  6. Tableau C # vs liste: quels sont les avantages
  7. Array vs ArrayList | Les 6 principales différences