Quelle est la différence entre Collection et List en Java?


Quelle est la différence entre Collection et List en Java? Quand dois-je utiliser qui?

Author: coldspeed, 2010-07-23

7 answers

Tout d'Abord: un List est un Collection. C'est un Collection spécialisé, cependant.

Un Collection est juste que: une collection d'éléments. Vous pouvez ajouter des choses, supprimer des choses, parcourir des choses et interroger la quantité de choses qu'il y a dedans.

Un List ajoute les informations sur une séquence définie de truc à elle: Vous pouvez obtenir de l'élément à la position n, vous pouvez ajouter un élément à la position n, vous pouvez supprimer l'élément à la position n.

Dans un Collection vous ne pouvez pas faire cela: "le 5ème élément de cette collection" n'est pas défini, car il n'y a pas d'ordre défini.

Il existe également d'autres collections spécialisées, par exemple Set ce qui ajoute la fonctionnalité qu'il ne contiendra jamais le même élément deux fois.

 209
Author: Joachim Sauer, 2017-12-11 14:43:47

Collection est l'interface racine de la hiérarchie des collections java. List est une sous-interface qui définit une collection ordonnée, les autres sous-interfaces sont Queue qui stockera généralement des éléments prêts à être traités (par exemple stack).

Le diagramme suivant montre la relation entre les différents types de collection java:

java collections

 149
Author: krock, 2017-02-13 23:43:02

Java API est le meilleur pour répondre à cette

Collection

L'interface racine dans la collection hiérarchie. Une collection représente un groupe d'objets, connu sous le nom de élément. Certaines collections permettent les éléments en double et d'autres pas. Certains sont commandés et d'autres non ordonnés. Le JDK ne fournit aucune les implémentations de cette interface: il fournit des implémentations de plus sous-interfaces spécifiques comme Set et Liste. Cette interface est généralement utilisé pour passer des collections autour et manipuler où le maximum généralité est souhaitée.

Liste (étend la collection)

Une collection ordonnée (également appelée séquence). L'utilisateur de cette interface a un contrôle précis sur où dans le liste chaque élément est inséré. Le l'utilisateur peut accéder aux éléments par leur index entier (position dans la liste), et recherchez des éléments dans la liste.

Contrairement aux ensembles, les listes permettent généralement les éléments en double. Plus formellement, les listes permettent généralement paires de éléments e1 et e2 tels que e1.est égal à (e2), et ils autoriser plusieurs éléments nuls s'ils autoriser les éléments nuls du tout. Il n'est pas inconcevable que quelqu'un puisse souhaiter pour mettre en œuvre une liste qui interdit doublons, en lançant runtime exceptions lorsque l'utilisateur tente de insérez-les, mais nous nous attendons à cette utilisation pour être rares.

 7
Author: Eugene Ryzhikov, 2010-07-23 10:45:25

List et Set sont deux sous-classes de Collection.

Dans la liste, les données sont dans un ordre particulier.

Dans Set, il ne peut pas contenir les mêmes données deux fois.

En Collection, il stocke simplement des données sans ordre particulier et peut contenir des données en double.

 3
Author: S'chn T'gai Spock, 2016-10-12 10:13:37

Collection est une interface de haut niveau décrivant des objets Java pouvant contenir des collections d'autres objets. Ce n'est pas très précis sur la façon dont ils sont accessibles, si plusieurs copies du même objet peuvent exister dans la même collection, ou si l'ordre est important. List est plus précisément un ordonné collection d'objets. Si vous placez des objets dans une liste dans un ordre particulier, ils resteront dans cet ordre.

Et décider où utiliser ces deux les interfaces sont beaucoup moins importantes que de décider de l'implémentation concrète que vous utilisez. Cela aura des implications sur les performances temporelles et spatiales de votre programme. Par exemple, si vous voulez une liste, vous pouvez utiliser une ArrayList ou une LinkedList, dont chacune aura des implications pour l'application. Pour les autres types de collection (par exemple, les ensembles), des considérations similaires s'appliquent.

 2
Author: Gian, 2010-07-23 10:44:07

Collection est la Super interface de List, donc chaque liste Java est aussi une instance de collection. Les collections ne sont itérables que séquentiellement (et sans ordre particulier) alors qu'une liste permet d'accéder à un élément à une certaine position via la méthode get(int index).

 2
Author: Daff, 2010-07-23 10:44:43

Collection est l'interface principale de Java Collections hierarchy et List(Sequence) est l'une des sous-interfaces qui définit une collection ordonnée.

 2
Author: Ramya, 2013-12-14 12:59:18