Différence entre List et ArrayList en Java

Auteur: Laura McKinney
Date De Création: 2 Avril 2021
Date De Mise À Jour: 15 Peut 2024
Anonim
Différence entre List et ArrayList en Java - La Technologie
Différence entre List et ArrayList en Java - La Technologie

Contenu


List et ArrayList sont les membres du framework Collection. La liste est une collection d'éléments dans une séquence où chaque élément est un objet et les éléments sont accessibles par leur position (index). ArrayList crée un tableau dynamique d'objets dont la taille augmente ou diminue à chaque fois que nécessaire. La principale différence entre List et ArrayList est que liste est une interface et Liste des tableaux est une classe. Étudions la différence entre List et ArrayList à l’aide du tableau de comparaison ci-dessous.

  1. Tableau de comparaison
  2. Définition
  3. Différences Clés
  4. Conclusion

Tableau de comparaison

Base de comparaisonlisteListe des tableaux
De baseLa liste est une interfaceArrayList est une classe de collection standard.
Syntaxeliste d'interfaceclasse ArrayList
Étendre / ImplémenterL'interface de liste étend Collection Framework.ArrayList étend AbstractList et implémente une interface de liste.
Espace de nomsSystem.Collections.Generic.System.Collections.
TravailIl est utilisé pour créer une liste d'éléments (objets) associés à leurs numéros d'index.ArrayList est utilisé pour créer un tableau dynamique contenant des objets.


Définition de liste

La liste est un interface qui étend la Collection cadre. L'interface de liste décrit la collection d'éléments organisés séquentiellement. L'interface de liste est implémentée par les classes de collection standard suivantes, telles que ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. L'interface de liste comporte des éléments associés à leurs numéros d'index. Vous pouvez accéder à un élément de la liste par sa position (index) dans la liste. Une liste créée à l'aide de l'interface List commence par un index de base zéro.

En plus des méthodes héritées par la structure Collection, l'interface List définit également une méthode qui lui est propre. Les méthodes ajoutées par l’interface List sont, ajouter (int, E) et addAll (int, Collection). Ces méthodes ajoutent un élément à la liste par leur index. Les méthodes de la liste peuvent générer une exception telle que UnsupportedOperationException si la méthode ne parvient pas à modifier la liste. Lorsqu'un objet dans une liste est incompatible avec un autre objet de la liste, alors ClassCastException est renvoyé. Les éléments nuls ne sont pas autorisés dans la liste si vous essayez d’insérer un objet null dans la liste, NullPointerException Est lancé.


Vous pouvez obtenir un élément de la liste en utilisant obtenir() méthode. Vous pouvez définir la valeur d'un élément de la liste à l'aide de ensemble() méthode. Vous pouvez également obtenir la sous-liste de la liste en utilisant une méthode sous-liste (). Il devient pratique d’opérer sur la sous-liste plutôt que sur une liste.

Définition de ArrayList

Une des classes standard de Collection est ArrayList qui s'étend AbstractList classe et met également en œuvre la liste interface. La classe ArrayList est utilisée pour créer les tableaux dynamiques qui se développent et se réduisent si nécessaire. La liste créée à l'aide de la classe ArrayList n'est rien d'autre que le tableau d'objets. En Java, le tableau standard a la longueur fixe, vous devez donc connaître la taille du tableau à l'avance. Cependant, il se peut que vous ne sachiez pas de quelle longueur du tableau vous avez besoin avant le moment de l'exécution. Par conséquent, Collection Framework a introduit la classe ArrayList pour résoudre ce problème.

ArrayList a des constructeurs qui créent le tableau avec sa capacité initiale. Bien que la capacité de l'objet de la classe ArrayList augmente automatiquement lorsque des éléments sont ajoutés au tableau, vous pouvez néanmoins augmenter manuellement la capacité de l'objet de ArrayList à l'aide de la méthode. assureCapacité (). Il est préférable d’augmenter initialement la capacité de la matrice plutôt que de réaffecter la mémoire ultérieurement. Parce que la réaffectation est plus coûteuse que l’allocation immédiate de la mémoire.

  1. L’une des différences les plus importantes entre List et ArrayList est que cette liste est une interface et ArrayList est une collection standard classe.
  2. Interface de liste étend la Collection cadre alors que, le ArrayList s'étend AbstractList Classe et elle implémente liste interfaces.
  3. L'espace de noms pour l'interface de liste est System.Collection.Generic alors que l'espace de noms pour ArrayList est System.Collection.
  4. Interface de liste crée une collection d’éléments stockés dans une séquence et identifiés ou accessibles par leur numéro d’index. D'autre part, ArrayList crée un tableau d'objets dans lequel il peut s'agrandir de manière dynamique si nécessaire.

Conclusion:

ArrayList résout le problème d'un tableau statique en Java standard, c'est-à-dire que la taille du tableau ne peut pas croître une fois créé. Lorsqu'un tableau est créé à l'aide de ArrayList, un tableau dynamique est créé, dont la taille peut augmenter ou diminuer en cas de besoin. La classe standard Collection ArrayList étend l'interface List.