logo

Différence entre un tableau et une liste de tableaux

En Java, tableau et Liste des tableaux sont les structures de données bien connues. Un tableau est une fonctionnalité de base fournie par Java, alors que Liste des tableaux est une classe du framework Java Collections. Il appartient à java.util emballer.

Tableau Java

Un tableau est un objet créé dynamiquement. Il sert de conteneur contenant un nombre constant de valeurs du même type. Il possède un emplacement mémoire contigu. Une fois un tableau créé, nous ne pouvons pas modifier sa taille. Nous pouvons créer un tableau en utilisant l'instruction suivante :

 int array[]=new int[size]; 

L'instruction ci-dessus crée un tableau de la taille spécifiée. Quand on essaie d'ajouter plus que sa taille, cela jette ArrayIndexOutOfBoundsException . Par exemple:

 int arr[]=new int[3]; //specified size of array is 3 //adding 4 elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; 

Classe Java ArrayList

En Java, Liste des tableaux est une classe de framework Collections. Il met en œuvre Liste, Collection, Itérable, Clonable, Sérialisable , et Accès aléatoire interfaces. Il s'étend Liste abstraite classe.

Nous pouvons créer une instance de ArrayList en utilisant l'instruction suivante :

 ArrayList arrayList=new ArrayList(); 

ArrayList est soutenu en interne par le tableau en Java. L'opération de redimensionnement dans ArrayList ralentit les performances car elle implique un nouveau tableau et la copie du contenu d'un ancien tableau vers un nouveau tableau. Il appelle la méthode native implémentée System.arraycopy (sec, srcPos, dest, destPos, longueur) .

Nous ne pouvons pas stocker le type primitif dans ArrayList. Ainsi, il ne stocke que des objets. Il convertit automatiquement le type primitif en objet. Par exemple, nous avons créé un objet ArrayList,

 ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList 

La JVM le convertit en objet Integer via l'auto-boxing.

 ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object 

Similitudes

  • Array et ArrayList sont tous deux utilisés pour stocker des éléments.
  • Array et ArrayList peuvent tous deux stocker des valeurs nulles.
  • Ils peuvent avoir des valeurs en double.
  • Ils ne préservent pas l'ordre des éléments.

Le tableau suivant décrit les principales différences entre array et ArrayList :

Base Tableau Liste des tableaux
Définition Un tableau est un objet créé dynamiquement. Il sert de conteneur contenant un nombre constant de valeurs du même type. Il possède un emplacement mémoire contigu. Le Liste des tableaux est une classe de Java Collections cadre. Il contient des classes populaires comme Vecteur, table de hachage , et Carte de hachage .
Dynamique statique Le tableau est statique en taille. ListeTableau est dynamique en taille.
Redimensionnable Un tableau est un longueur fixe Structure de données. ArrayList est un longueur variable Structure de données. Il peut être redimensionné si nécessaire.
Initialisation Il est obligatoire de fournir la taille d'un tableau lors de son initialisation directe ou indirecte. Nous pouvons créer une instance de ArrayList sans spécifier sa taille. Java crée ArrayList de taille par défaut.
Performance Il effectue rapide par rapport à ArrayList en raison de la taille fixe. ArrayList est soutenu en interne par le tableau en Java. L'opération de redimensionnement dans ArrayList ralentit les performances.
Type primitif/générique Un tableau peut stocker les deux objets et primitives taper. Nous ne pouvons pas stocker primitif tapez ArrayList. Il convertit automatiquement le type primitif en objet.
Itération des valeurs Nous utilisons pour boucle ou pour chaque boucle pour parcourir un tableau. Nous utilisons un itérateur pour parcourir ArrayList.
Type-Sécurité Nous ne pouvons pas utiliser de génériques avec un tableau car ce n'est pas un type de tableau convertible. ArrayList nous permet de stocker uniquement générique/ tapez, c'est pourquoi il est de type sécurisé.
Longueur Le tableau fournit un longueur variable qui indique la longueur d'un tableau. ArrayList fournit le taille() méthode pour déterminer la taille de ArrayList.
Ajout d'éléments Nous pouvons ajouter des éléments dans un tableau en utilisant le affectation opérateur. Java fournit le ajouter() méthode pour ajouter des éléments dans ArrayList.
Unique/multidimensionnel Le tableau peut être multidimensionnel . ArrayList est toujours unidimensionnel .

Exemple de tableau en Java

Dans l’exemple suivant, nous avons simplement créé un tableau de longueur quatre.

 public class ArrayExample { public static void main(String args[]) { //creating an array of integer type int arr[]=new int[4]; //adding elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; for(int i=0;i <arr.length;i++) { system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 12 2 15 67 </pre> <h2>Example of ArrayList in Java</h2> <p>In the following example, we have created an instance of ArrayList and performing iteration over the ArrayList.</p> <pre> import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 12.4 34.6 56.8 78.9 </pre> <hr></arr.length;i++)>

Exemple de ArrayList en Java

Dans l'exemple suivant, nous avons créé une instance de ArrayList et effectué une itération sur ArrayList.

 import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } 

Sortir:

stlc
 12.4 34.6 56.8 78.9