Différence entre List, Set et Map en java

List et Set sont des interfaces qui héritent l’interface Collection. Ici, nous allons discuter de la différence entre List, Set et Map en Java.
 
 

Table de comparaison
List Set Map
Duplication List permet les éléments en double. N’importe quel nombre d’éléments en double peut être inséré dans la liste sans affecter les mêmes valeurs existantes et leurs index. Set n’autorise pas les doublons. Set et toutes les classes qui implémentent l’interface Set doivent avoir des éléments uniques. Map stocke les éléments sous forme de paire clé/valeur. Map n’autorise pas les clés en double, par contre il autorise les valeurs en double.
Valeurs nulles List autorise n’importe quel nombre de valeurs NULL. Set autorise au maximum une seule valeur NULL. Map peut avoir au maximum une seule clé NULL et un nombre quelconque de valeurs NULL.
Ordre List et toutes les classes implémentant l’interface List maintient l’ordre d’insertion. Set ne maintient aucun ordre; encore il y a quelques classes implémentant l’interface Set, trient les éléments dans un ordre tel que LinkedHashSet maintient les éléments dans l’ordre d’insertion. Pareil à Set, Map ne stocke pas les éléments dans un ordre, mais il y a quelques classes implémentant l’interface Map, stockent les éléments dans un ordre. Par exemple TreeMap trie la map dans l’ordre croissant selon les clés et LinkedHashMap trie les éléments dans l’ordre d’insertion, l’ordre dans lequel ils ont été ajoutés à LinkedHashMap.
Les classes utilisés ArrayList, LinkedList etc. HashSet, LinkedHashSet, TreeSet, SortedSet etc. HashMap, TreeMap, WeakHashMap, LinkedHashMap, IdentityHashMap, etc.
Différence entre ArrayList et HashMap en Java

Une réflexion sur “Différence entre List, Set et Map en java

  • novembre 27, 2019 à 3:42 am
    Permalien

    List, Set et Map sont des interfaces qui étendent l’interface Collection mais ne n’implémentent pas.
    Et Map comme interface n’étends pas l’interface Collection.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *