Différence entre les tableaux et les listes

Tableaux vs Tableaux

Les tableaux sont la structure de données la plus couramment utilisée pour stocker une collection d'éléments. La plupart des langages de programmation fournissent des méthodes pour déclarer facilement des tableaux et accéder à des éléments dans les tableaux. 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'arraylist quand elle le définit..

Que sont les tableaux?

La figure 1 montre un élément de code généralement utilisé pour déclarer et affecter des valeurs à un tableau. La figure 2 montre à quoi ressemble un tableau dans la mémoire.

valeurs int [5];

valeurs [0] = 100;

valeurs [1] = 101;

valeurs [2] = 102;

valeurs [3] = 103;

valeurs [4] = 104;

Figure 1: Code de déclaration et d'affectation de valeurs à un tableau


100 101 102 103 104
Indice: 0 1 2 3 4

Figure 2: tableau stocké dans la mémoire

Au-dessus de code, définit un tableau pouvant stocker 5 nombres entiers. Les index 0 à 4 permettent d'y accéder. Une propriété importante d'un tableau est qu'un tableau entier est alloué en tant que bloc de mémoire et que chaque élément obtient son propre espace . Une fois qu'un tableau est défini, sa taille est fixe. Donc, si vous n'êtes pas sûr de la taille du tableau au moment de la compilation, vous devrez définir un tableau assez grand pour être sûr. Mais, la plupart du temps, nous allons utiliser moins d’éléments que ce qui a été alloué. Donc, une quantité considérable de mémoire est réellement gaspillée. D'autre part, si le «tableau assez grand» n'est pas assez grand, le programme planterait.

Que sont les Arraylists??

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.

Quelle est la difference entre Arrays et Arraylists

Même si les tableaux et les arylistes sont similaires dans le sens où ils sont tous deux utilisés pour stocker des collections d'éléments, leur définition est différente. La taille du tableau doit être donnée lorsqu'un tableau est défini, mais vous pouvez définir une liste sans connaître la taille réelle. Vous pouvez ajouter des éléments à un arraylist après sa définition, ce qui n'est pas possible avec les tableaux. Mais en Java, les arraylists ne peuvent pas contenir de types primitifs, mais les tableaux peuvent être utilisés pour contenir des types primitifs. Mais si vous avez besoin d’une structure de données pouvant varier sa taille, arraylist serait le meilleur choix..