Arrays vs Arraylists
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 les tableaux et les éléments d'accès dans les tableaux. 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 Array lorsqu'elle le définit.
Que sont les tableaux?
Illustré à la figure 1, est un morceau de code généralement utilisé pour déclarer et attribuer des valeurs à un tableau. La figure 2 illustre à quoi ressemblerait un tableau dans la mémoire.
Int valeurs [5]; valeurs [0] = 100; valeurs [1] = 101; valeurs [2] = 102; valeurs [3] = 103; valeurs [4] = 104; |
Figure 1: code pour déclarer et attribuer des valeurs à un tableau
100 | 101 | 102 | 103 | 104 |
Index: 0 | 1 | 2 | 3 | 4 |
Figure 2: tableau stocké dans la mémoire
Code ci-dessus, définit un tableau qui peut stocker 5 entiers et ils sont accessibles en utilisant des indices 0 à 4. Une propriété importante d'une table. 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 suffisamment grand pour être en toute sécurité. Mais, la plupart du temps, nous allons en fait utiliser moins de nombre d'éléments que nous ne l'avons attribué. Donc une quantité considérable de mémoire est en fait gaspillée. D'un autre côté, si le «tableau suffisamment grand» n'est pas réellement assez grand, le programme se bloquerait.
Que sont les listes d'arroises?
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.
Quelle est la différence entre les tableaux et les listes de table
Même si les tableaux et les listes de table. La taille de la matrice doit être donnée lorsqu'un tableau est défini, mais vous pouvez définir une liste de listes sans connaître la taille réelle. Vous pouvez ajouter des éléments à une arraylist après sa définition et ce n'est pas possible avec les tableaux. Mais en Java, les listes d'arraises ne peuvent pas contenir des 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 qui peut varier sa taille, ArrayList serait le meilleur choix.