Différences entre les interfaces Set et List en Java
Ensemble vs Liste
Ici, nous verrons la différence entre l'interface Set et List en Java .
Au tout début, nous verrons comment l'interface Set diffère de l'interface List en Java ?
Définir l'interface en Java
- Cette interface est disponible dans le package java.util.
- Cette interface est une interface enfant de l'interface Collection.
- Si nous voulons représenter un groupe d'objets individuels où "les objets ou éléments en double ne sont pas autorisés" (c'est-à-dire que nous ne pouvons pas insérer un objet plusieurs fois).
- Si nous voulons représenter un groupe d'objets individuels où "l'ordre d'insertion n'est pas conservé" (c'est-à-dire que l'ordre d'insertion n'a pas besoin d'être le même que l'ordre de récupération).
- Nous devrions opter pour l'interface Set où "les objets en double ne sont pas autorisés" (c'est-à-dire que la duplication est importante) et "l'ordre d'insertion n'est pas conservé" (c'est-à-dire que l'ordre d'insertion et de récupération n'est pas important).
- La classe d'implémentation de l'interface Set est HashSet et LinkedHashSet.
Exemple :
Supposons que nous ayons un Set avec peu d'éléments. Ici, nous ajoutons les éléments dans l'ordre est [10, 20, 30, 50, null] et si nous récupérons les éléments, l'ordre de récupération des éléments peut être différent (c'est-à-dire qu'il n'est pas nécessaire que ce soit la même insertion et récupération l'ordre des éléments.) donc la sortie sera différente et l'ordre sera comme [null, 50, 20, 10, 30].
// Java program to demonstrate the behavior of Set interface import java.util.*; class SetInterface { public static void main(String[] args) { // Creating an instance Set set = new HashSet(); // By using add() method to add an elements set.add(10); set.add(20); set.add(30); set.add(50); set.add(null); // set.add(20)* if we add again 20 then we will not get // an error but duplicate element will be ignored // Display Set elements System.out.println("Retrieval order of the elements in Set is :" + set); } }
Sortie
E:\Programs>javac SetInterface.java E:\Programs>java SetInterface Retrieval order of the elements in Set is :[null, 50, 20, 10, 30]
Interface de liste en Java
- Cette interface est disponible dans le package java.util.
- Cette interface est une interface enfant de l'interface Collection.
- Si nous voulons représenter un groupe d'objets individuels où "les objets ou éléments en double sont autorisés" (c'est-à-dire que nous pouvons insérer un objet plusieurs fois).
- Si nous voulons représenter un groupe d'objets individuels où "l'ordre d'insertion est préservé" (c'est-à-dire que l'ordre d'insertion doit être le même que l'ordre de récupération).
- Nous devrions opter pour l'interface de liste où "les objets en double sont autorisés" (c'est-à-dire que la duplication n'est pas importante) et "l'ordre d'insertion est préservé" (c'est-à-dire que l'ordre d'insertion et de récupération est important).
- La classe d'implémentation de l'interface List est ArrayList et LinkedList, Vector, Stack, etc.
Exemple :
Supposons que nous ayons une liste avec peu d'éléments. Ici, nous ajoutons les éléments dans l'ordre [10, 20, 30, 50, null, 30] et si nous récupérons les éléments, l'ordre de récupération des éléments doit être le même (c'est-à-dire qu'il doit s'agir de la même insertion et l'ordre de récupération des éléments.) donc la sortie sera la même et l'ordre sera comme [10, 20, 30, null, 30].
// Java program to demonstrate the behavior of List interface import java.util.*; class ListInterface { public static void main(String[] args) { // Creating an instance List list = new ArrayList(); // By using add() method to add an elements list.add(10); list.add(20); list.add(30); list.add(50); list.add(null); // if we add again 30 then we will not get an error // because duplicate element is allowed list.add(30); // Display List elements System.out.println("Retrieval order of the elements in List is :" + list); } }
Sortie
E:\Programs>javac ListInterface.java E:\Programs>java ListInterface Retrieval order of the elements in List is :[10, 20, 30, 50, null, 30]