[java] différence entre List et Collection

Résolu
timon44 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -  
timon44 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je ne comprends pas la différence entre les interfaces List et Collection, pour implémenter ensuite en ArrayList ....

Merci de votre aide !
A voir également:

3 réponses

timon44 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci, j'avais trouvé cette doc, mais j'avais pas trouvé la réponse à ma question. En fait ce que je comprends pas c'est la différence entre ces deux codes:

Collection<String> MaListe;


et

List<String> MaListe;


dans mon constructeur, j'ai dans les deux cas:

maListe = new ArrayList<String>();
4
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329
 
Bonjour timon44,
List est une interface qui hérite de Collection, et ArrayList implémente List.
Autrement dit, ArrayList implémente directement ou indirectement à la fois List et Collection, c'est pour cela que ça fonctionne.

Pour l'explication, Collection est l'interface qui permet de manipuler des groupes d'objets. Elle est très générique, et donc on peut décomposer les éléments qui la composent en plusieurs sous-groupes, notamment les listes, les ensembles, les files... Chacun de ces sous-ensembles aura des caractéristiques précises (par exemple les ensembles ne permettent pas d'avoir plusieurs fois le même élément stocké, contrairement aux listes par exemple).

Pour conclure, tu peux donc manipuler ton ArrayList via les deux interfaces, je ne pense pas qu'il y ait de règle précise. Personnellement, pour avoir une meilleure lisibilité je la manipulerais via une List. Ensuite, si tu veux être le plus abstrait possible, tu peux toujours utiliser une Collection.

Cordialement,
0
Utilisateur anonyme
 
0
timon44 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   4
 
exactement ce que je cherchais, merci !
0