Différence entre Tableau(Array) et Arraylist
Quelle est la différence entre Tableau( ou Array)et Arraylist ? – Un tableauest une structure de données de base fournie par Java. ArrayList est une collection qui fait partie du framework de collection en Java. Par conséquent, les membres du tableau sont accessibles à l’aide de [ ], tandis que ArrayList dispose d’un ensemble de méthodes pour accéder aux éléments et les modifier.
Définition de Tableau
Tableau est utilisé pour contenir plusieurs valeurs du même type. Un tableau peut contenir –
- plusieurs valeurs primitives de même type, ou
- plusieurs références d’objet du même type.
Types de tableaux :
- Tableau à une dimension (1-D), c’est un simple tableau qui contient plusieurs valeurs du même type.
- Tableau bidimensionnel (2-D), c’est un tableau contenant plusieurs tableaux, dans lesquels tous ces multiples valeurs sont du même type.
class TestTableau { public static void main(String[] args) { // Tableau de quatre caractères char[] tab = new char[4]; tab[0]='a'; tab[1]='b'; tab[2]='c'; tab[3]='d'; // accéder aux éléments du tableau for(int i=0; i < tab.length; i++) { System.out.println(tab[i]); } } }
La sortie :
a b c d
Définition de Arraylist
Comme un Tableau, ArrayList est également utilisé pour stocker des éléments similaires. Dans le cas d’un Tableau, nous devons déclarer sa taille avant de l’utiliser, soit comme un tableau statique. Bien que ArrayList soit comme un tableau dynamique, c’est-à-dire que nous n’avons pas besoin de déclarer sa taille, il augmente à mesure que nous ajoutons des éléments et qu’il se rétrécit au fur et à mesure que vous en retirez des éléments.
Exemple:
class TestArrayList { public static void main(String[] args) { // Création d'une ArrayList de taille dynamique. ArrayList<string> arr = new ArrayList<string>(); arr.add("Ma première chaîne de caractères"); arr.add("Ma deuxième chaîne de caractères"); arr.add("Ma troisième chaîne de caractères"); // Itérateur pour itérer entre les éléments de ArrayList Iterator it = arr.iterator(); // accéder aux éléments du tableau en utilisant l'itérateur while(it.hasNext()) System.out.println(it.next()); } }
La sortie :
Ma première chaîne de caractères Ma deuxième chaîne de caractères Ma troisième chaîne de caractères
Table de comparaison
Tableau | Arraylist | |
---|---|---|
Redimensionnement | Non | Oui |
Multidimensionnel | Yes | No |
Ajouter des éléments | Opérateur d’assignation = | Méthode add() |
Valeur primitives | Oui | Non |
Itération | for, for each | Iterator, for each |
Calculer la longueur | La variable length | La méthode size |
Performance | Rapid | Lent |
La différence clé entre Tableau et ArrayList
- Tableau est de taille fixe, mais ArrayList est un tableau de taille dynamique.
- Tableau peut contenir à la fois des valeurs primitives et des objets, mais ArrayList ne peut contenir que des objets.
- Vous ne pouvez pas utiliser les types génériques avec des Tableau mais ArrayList nous permet d’utiliser des types génériques pour assurer la sécurité des types.
- Vous pouvez utiliser la variable length pour calculer la longueur d’un Tableau ,et la méthode size() pour calculer la taille de ArrayList.
- Tableau utilise un opérateur d’affectation pour stocker des éléments, mais ArrayList utilise add() pour insérer des éléments.
Conclusion
Tableau est une structure de données de taille fixe, randis qu’une Arraylist est une structure de données de taille dynamique, nous pouvons modifier la longueur en ajoutant des éléments par la suite. Pour un Tableau, nous devons mentionner la taille plus tôt car la mémoire fixe doit être allouée avant, mais dans une Arraylist, la taille mentionnée n’est pas fixe.