Arraylist vs Vector
Un arraylist peut être vu comme un tableau dynamique, qui peut croître en taille. Pour cette raison, le programmeur n'a pas besoin de connaître la taille de l'arrayliste lorsqu'il le définit. Le vecteur peut aussi être vu comme un tableau qui peut grossir. Les vecteurs peuvent être facilement attribués et peuvent être utilisés lorsque la taille de stockage requise n'est pas connue avant l'exécution.
Qu'est-ce qu'un Arraylist??
Un arraylist peut être vu comme un tableau dynamique, qui peut croître en taille. Par conséquent, les artistes sont parfaits pour être utilisés dans des situations où vous ne connaissez pas la taille des éléments requis au moment de la déclaration. En Java, les arraylists ne peuvent contenir que des objets, ils ne peuvent pas contenir directement des types primitifs (vous pouvez placer les types primitifs dans un objet ou utiliser les classes wrapper des types primitifs). Généralement, les arraylistes disposent de méthodes pour effectuer une insertion, une suppression et une recherche. La complexité temporelle de l'accès à un élément est o (1), tandis que l'insertion et la suppression ont une complexité temporelle de o (n). En Java, les arraylists peuvent être parcourus en utilisant des boucles foreach, des itérateurs ou simplement en utilisant les index. En Java, les arylistes ont été introduits à partir de la version 1.2 et font partie du Java Collections Framework..
Qu'est-ce qu'un vecteur?
Vector est aussi un tableau qui peut grossir. Les vecteurs peuvent être facilement attribués et peuvent être utilisés lorsque la taille de stockage requise n'est pas connue avant l'exécution. Les vecteurs peuvent également contenir uniquement des objets et ne peuvent pas contenir de types primitifs. Les vecteurs étant synchronisés, ils peuvent donc être utilisés en toute sécurité dans des environnements multithread. Les vecteurs disposent de méthodes pour ajouter des objets, supprimer des objets et rechercher des objets. Semblables à arraylist en Java, les vecteurs peuvent être parcourus en utilisant des boucles foreach, des itérateurs ou simplement en utilisant les index. En ce qui concerne Java, les vecteurs ont été inclus depuis la première version de Java..
Quelle est la difference entre Arraylist et Vector?
Même si les deux arraylists et les vecteurs sont très similaires aux tableaux dynamiques qui peuvent croître en taille, ils ont quelques différences importantes. La principale différence entre les arraylistes et les vecteurs est que les vecteurs sont synchronisés alors que les arraylistes ne sont pas synchronisés. Par conséquent, l'utilisation d'arraylists dans des environnements multithread ne conviendra pas, alors que les vecteurs peuvent être utilisés en toute sécurité dans des environnements multithread (car ils sont thread-safe). Mais la synchronisation dans les vecteurs entraînerait une réduction des performances. Par conséquent, il ne serait pas judicieux d'utiliser des vecteurs dans un seul environnement threadé. En interne, les arylistes et les vecteurs utilisent des tableaux pour contenir des objets. Lorsque l'espace actuel est insuffisant, les vecteurs doubleront la taille de son tableau interne, tandis que les arraylistes augmenteront la taille de son tableau interne de 50%. Toutefois, lorsque vous utilisez à la fois les références bibliographiques et les vecteurs, en donnant une capacité initiale appropriée, vous pouvez éviter un redimensionnement inutile de la matrice interne. Dans une situation où le taux de croissance des données est connu, l'utilisation de vecteurs serait plus appropriée car la valeur incrémentale des vecteurs pourrait être définie..