Différences entre Java List et Array List

Java est un langage dynamique et peut être utilisé sur n'importe quelle plate-forme. Il fournit une liste Java vs ArrayList. List agit comme une interface et Array list est une implémentation de la liste. L'interface de liste se compose de méthodes. Ces méthodes sont incluses dans la classe de liste Array avec quelques ajouts de méthodes. La principale différence entre Java List et ArrayList est que vous devez créer une référence à l'interface parent dans la première et une référence à la classe qui implémente la liste. Cela signifie que la classe de liste de tableaux est la deuxième classe. Voyons les différences entre Java List et ArrayList.

Comparaison directe entre la liste Java et la liste de tableaux (infographie)

Ci-dessous se trouve la comparaison du Top 4 entre la liste Java et la liste de tableaux

Différences clés entre Java List et Array List

Les différences entre Java List et Array List sont expliquées dans les points ci-dessous:

  • L'une des principales différences entre Java List et Array List est que list est une interface et Array list est une classe de collection standard.
  • L'interface Java List étend la collection et Array list étend la classe Abstract List et peut également implémenter l'interface List.
  • L'interface de liste crée une collection d'éléments qui sont stockés en séquence et sont accessibles par son numéro d'index. La liste de tableaux, au contraire, crée un tableau d'objets où le tableau peut croître dynamiquement chaque fois que cela est nécessaire et également se réduire.
  • Java List vs Array List propose différents types de méthodes pour accéder aux données de la liste. Ces méthodes permettent d'obtenir des éléments d'un tableau à la position spécifiée et également de supprimer et de réduire la taille d'un tableau dans le cas de la liste de tableaux.

Tableau de comparaison des listes Java et des tableaux

Voici le tableau de comparaison entre Java List et Array List

La base de la comparaison entre Java List et Array ListListe JavaListe des tableaux
Différence de baseList est une interface qui étend Collection. En étendant Collection, il déclare son comportement et stocke une séquence d'éléments. Une liste peut avoir quelques méthodes supplémentaires avec celles présentes dans Collection. Une liste peut également contenir des éléments en double. De nombreuses méthodes dans une liste peuvent lever l'exception d'opération non prise en charge si la collection ne peut pas être modifiée.Array List est une classe qui étend Abstract List et implémente l'interface List. Les tableaux normaux utilisés en Java sont de longueur fixe. Une fois qu'un tableau est créé en Java, sa taille ne peut pas être augmentée ou diminuée. Les listes de tableaux sont dynamiques et peuvent être créées avec une taille initiale et plus tard la taille peut être augmentée si plus de données sont ajoutées et elle peut également être diminuée si des données sont supprimées.
SyntaxeLa syntaxe pour déclarer une liste est la suivante:
interface publique La liste étend la collection
La syntaxe pour déclarer la liste des tableaux est la suivante:
La classe publique ArrayList étend AbstractList implémente List, RandomAccess, Cloneable, Serializable
TravailJava List étend le framework Collection et utilise l'espace de noms system.collection.generic. Une liste est utilisée pour obtenir des objets liés à leurs numéros d'index. Un objet liste peut être créé comme ci-dessous:
Liste a = new ArrayList ();
Une fois qu'un objet est créé par un utilisateur peut restreindre le type d'objet qui peut être stocké dans la liste. Un objet peut être déclaré comme de type sécurisé. Cela peut être fait comme ci-dessous:
// Obj est un type d'objet à stocker dans List.List list = new List ();
La liste de tableaux est créée en étendant AbstractList et implémente l'interface de liste. L'espace de noms utilisé par Array list est System. Collections. La liste de tableaux est prise en compte lorsque l'utilisateur doit créer un tableau dynamique qui contient des objets et qui peut être ajouté et supprimé au moment de l'exécution.
ArrayList est une classe et fournit donc quelques constructeurs. Ces constructeurs sont les suivants:
1) ArrayList (): en utilisant ce constructeur, l'utilisateur peut créer une liste de tableaux vide.2) ArrayList (Collection c): ce constructeur est utilisé pour créer une liste de tableaux qui est initialisée avec les éléments qui sont envoyés dans la collection c.3) ArrayList (capacité int): La principale caractéristique de la liste de tableaux est qu'elle augmente automatiquement lorsque davantage d'éléments sont ajoutés à la liste de tableaux. Ce constructeur permet de créer une liste de tableaux avec une capacité initiale spécifiée.
Les méthodesUne liste propose différentes méthodes:
1) void add (int index, Object obj)
Cette méthode aide à insérer des objets. Cela se fait en appelant list à l'index qui est passé. Tous les éléments existants sont décalés et, par conséquent, aucune donnée n'est remplacée.
2) Object get (int index)
Il renvoie l'objet qui est stocké à cet index particulier dans la collection appelante.
3) ListIterator listIterator ()
Cette fonction renvoie un itérateur au début de la liste d'appel.
4) Suppression d'objet (index int)
Il est utilisé pour supprimer des éléments à l'index de position mentionné et renvoie l'élément supprimé. De plus, la liste résultante est compressée et les index des éléments suivants sont décrémentés de un.
5) List subList (int start, int end)
Il renverra une liste du début à la fin où le début est l'index de départ et la fin sera l'index de fin. Les éléments d'une liste peuvent également être référencés par l'objet appelant.
Une liste de tableaux fournit les méthodes ci-dessous:
1) void add (int index, Object obj)
Il insère un élément spécifié à une position spécifiée et lèvera une exception IndexOutOfBoundsException lorsque l'index mentionné est hors de portée.
2) Le booléen contient (Object o)
Il recherche la liste et renvoie vrai si l'élément spécifié est présent. Pour être plus précis si la liste contient au moins un élément tel que o == null? e == null: o.equals (e)
3) Obtention d'objet (index int)
Il renvoie l'élément présent à la position spécifiée et lèvera une exception IndexOutOfBoundsException lorsque l'index mentionné est hors limites.
4) void assureCapacity (int minCapacity)
Il augmente la capacité de l'instance de liste de tableaux. Il s'assure qu'il peut contenir un nombre minimum d'éléments spécifié comme capacité.
5) Object () toArray ()
Il renvoie un tableau composé de tous les éléments de la liste. Il renvoie NullPointerException si le tableau est nul.

Conclusion - Java List vs Array List

Par conséquent, la liste de tableaux est la solution au problème d'une mémoire de tableau statique. Lorsqu'un utilisateur utilise une liste de tableaux, le tableau dynamique est créé, qui peut être augmenté à tout moment. La liste normale étend la classe de collection. En outre, il est préférable d'augmenter la capacité d'une baie au début plutôt que de réallouer la mémoire ultérieurement. La manipulation est lente dans la liste des tableaux car le décalage doit être effectué si un élément est supprimé d'une liste. Dans une liste, vous pouvez également effectuer différentes opérations d'accès positionnel, de recherche et d'affichage de portée.

Article recommandé

Cela a été un guide pour les principales différences entre Java List et Array List. Ici, nous discutons également des principales différences entre Java List et Array List avec des infographies et un tableau de comparaison. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Java Vector vs ArrayList-Quelle technologie est la meilleure?
  2. Java vs JavaScript
  3. Scala vs Java Performance: lequel est le meilleur
  4. Java Heap vs Stack
  5. Tableau C # vs liste; Avantages
  6. Guide utile sur les questions d'entrevue relatives aux tests Java
  7. Différence entre la liste et l'ensemble