Quelle est la différence entre ArrayList et Vector

Table des matières:

Anonim

Les différence principale entre ArrayList et Vector est que le ArrayList n'est pas synchronisé et permet à plusieurs threads de travailler sur un ArrayList en même temps tandis que le Vector est synchronisé et évite que plusieurs threads travaillent sur un vecteur en même temps.

Les langages de programmation tels que Java prennent en charge les collections, ce qui permet de stocker plusieurs objets en une seule unité. Deux de ces collections sont ArrayList et Vector. Ils aident à stocker les données de manière dynamique. ArrayList n'est pas synchronisé, ce qui rend un ArrayList plus performant qu'un Vector. D'autre part, le vecteur est synchronisé et contient de nombreuses méthodes héritées.

Liste de tableaux, vecteur

Qu'est-ce que ArrayList

ArrayList est une structure de données implémentée à l'aide de ArrayListClass. Cette classe ArrayList implémente en outre l'interface List. C'est une meilleure alternative pour les tableaux. Les tableaux habituels ont une longueur fixe. Par conséquent, le programmeur ne peut pas ajouter plus d'éléments que la taille de tableau définie. À l'aide d'un ArrayList, il est possible de modifier la taille du tableau de manière dynamique. En d'autres termes, le programmeur peut ajouter ou supprimer des éléments dynamiquement. Il s'agit donc d'une structure de données flexible. ArrayList maintient l'ordre d'insertion des éléments. De plus, il existe des méthodes prédéfinies disponibles dans la classe ArrayList. Le programmeur peut les utiliser dans son programme.

Figure 1: programme ArrayList

Si vous regardez le programme ci-dessus, "fruits" est un objet de type ArrayList. Il peut stocker des chaînes. La méthode add permet d'insérer des éléments dans ArrayList. L'élément dans le 2sd index de l'ArrayList est raisins. La méthode remove permet de supprimer les « raisins » de l'ArrayList. Maintenant, il n'y a que trois éléments disponibles. Le "itr" est un itérateur. Il est utile d'itérer dans l'ArrayList. Enfin, la boucle while imprime les éléments disponibles dans l'ArrayList.

Qu'est-ce que le vecteur

Vector est une structure de données implémentée à l'aide de la classe Vector. La classe Vector implémente l'interface List. Vector maintient l'ordre d'insertion des éléments. Il est synchronisé. Par conséquent, plusieurs threads ne peuvent pas fonctionner simultanément sur un vecteur. Habituellement, les performances d'ajout, de suppression et de mise à jour d'éléments dans un vecteur sont inférieures.

Figure 2: programme vectoriel

Dans le programme ci-dessus, "vec" est un objet de Vector qui peut stocker des chaînes. La méthode add permet d'insérer de nouveaux éléments dans le vecteur. De même, la méthode remove permet de supprimer un élément du vecteur. Par conséquent, lorsque vous passez « orange » à la méthode remove, cet élément spécifique est supprimé du vecteur. Le "en" est une énumération, qui permet d'itérer à travers un vecteur. Enfin, la boucle while imprime les éléments disponibles dans le vecteur.

Différence entre ArrayList et Vector

Définition

ArrayList est une structure de données non synchronisée qui utilise un tableau dynamique pour stocker les éléments tandis que vector est une structure de données synchronisée qui utilise un tableau dynamique pour stocker les éléments. C'est donc la différence fondamentale entre ArrayList et Vector.

Performance

La performance est une différence majeure entre ArrayList et Vector. Un ArrayList fonctionne plus rapidement qu'un Vector. Par conséquent, ses performances sont supérieures à celles du vecteur.

Synchronisation

Surtout, la synchronisation est la principale différence entre ArrayList et Vector. Un ArrayList n'est pas synchronisé alors que le vecteur est synchronisé.

Traverser les éléments

Alors que ArrayList utilise l'interface Iterator pour parcourir les éléments, vector utilise l'interface Iterator ou l'interface Enumeration pour parcourir les éléments. C'est donc une autre différence entre ArrayList et Vector.

Taille du tableau

Conclusion

ArrayList et Vector permettent de stocker des éléments dynamiquement. La principale différence entre ArrayList et Vector réside dans la synchronisation. ArrayList n'est pas synchronisé et permet à plusieurs threads de travailler dessus en même temps tandis que Vector est synchronisé et évite que plusieurs threads y travaillent en même temps. Ainsi, ArrayList est plus rapide que vector.

Référence:

1. "ArrayList en Java - Javatpoint." Www.javatpoint.com, disponible ici.2. Singh, Chaitanya et J Padilha. "Vecteur en Java." Beginnersbook.com, 8 août 2017, disponible ici.

Quelle est la différence entre ArrayList et Vector