ArrayList vs Vector
Une liste Array peut être considérée 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 la liste de billets lorsqu'il / elle le définit. Le vecteur peut également être considéré comme un tableau qui peut croître en taille. Les vecteurs peuvent être facilement alloués et peuvent être utilisés lorsque la taille requise du stockage n'est pas connue avant l'exécution.
Qu'est-ce qu'un arraylist?
Une liste Array peut être considérée comme un tableau dynamique, qui peut croître en taille. Par conséquent, les listes de table sont idéales pour être utilisées dans la situation dans laquelle vous ne connaissez pas la taille des éléments requis au moment de la déclaration. En Java, les listes d'arraises ne peuvent contenir que des objets, ils ne peuvent pas tenir directement des types primitifs (vous pouvez mettre les types primitifs dans un objet ou utiliser les classes d'emballage des types primitifs). Généralement, les listes de table sont fournies avec des méthodes pour effectuer l'insertion, la suppression et la recherche. La complexité du temps 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 listes d'arrai. En Java, des listes d'arraises ont été présentées à partir de la version 1.2 Et il fait partie du cadre des collections Java.
Qu'est-ce qu'un vecteur?
Le vecteur est également un tableau qui peut croître en taille. Les vecteurs peuvent être facilement alloués et peuvent être utilisés lorsque la taille requise du stockage n'est pas connue avant l'exécution. Les vecteurs ne peuvent également contenir des objets et ne peuvent pas contenir de types primitifs. Les vecteurs sont synchronisés, peuvent donc être utilisés en toute sécurité dans des environnements multithreads. Les vecteurs sont fournis avec des méthodes pour ajouter des objets, supprimer des objets et rechercher des objets. Semblable à ArrayList en Java, les vecteurs peuvent être traversés à l'aide de boucles Foreach, d'itérateurs ou simplement à l'aide des index. En ce qui concerne Java, les vecteurs sont inclus depuis la première version de Java.
Quelle est la différence entre ArrayList et Vector?
Même si les listes de table et les vecteurs sont très similaires aux tableaux dynamiques qui peuvent croître, ils ont des différences importantes. La principale différence entre les listes de table. Par conséquent, l'utilisation de listes dans des environnements multithread ne conviendra pas, tandis que les vecteurs peuvent être utilisés en toute sécurité dans des environnements multithreads (car ils sont sûrs de fil). Mais la synchronisation chez les vecteurs entraînerait une réduction des performances. Par conséquent, ce ne serait pas une bonne idée d'utiliser des vecteurs dans un seul environnement fileté. En interne, les listes de table et les vecteurs utilisent des tableaux pour contenir des objets. Lorsque l'espace actuel ne suffit pas, les vecteurs doubleront la taille de son tableau interne, tandis que les listes de tableaux augmentent la taille de son tableau interne de 50%. Mais lorsque vous utilisez à la fois les listes de table. Dans une situation que le taux de croissance des données est connu, l'utilisation des vecteurs serait plus appropriée car la valeur incrémentale des vecteurs pourrait être définie.