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