La plupart des langages de programmation utilisent des tableaux pour stocker un ensemble de données du même type. Un inconvénient majeur des tableaux est qu’une fois que la taille du tableau est déclarée, elle ne peut plus être modifiée. Si le programmeur souhaite stocker des valeurs dépassant la taille du tableau, il doit alors créer un nouveau tableau et copier les éléments existants dans le nouveau tableau. Dans ces situations, les collections peuvent être utilisées. Il est possible d'ajouter des éléments, de supprimer des éléments et de nombreuses autres opérations avec le support de collections. Il existe différents types de collections disponibles dans des langages de programmation tels que Java. List et Set sont des interfaces de la hiérarchie des collections. Collection est l'interface de base pour les autres interfaces. le différence clé entre List et Set est que List prend en charge le stockage du même élément plusieurs fois alors que Set ne prend pas en charge le stockage du même élément plusieurs fois. Par conséquent, un ensemble n'autorise pas la duplication.
1. Vue d'ensemble et différence clé
2. Quelle est la liste
3. Quel est Set
4. Similarités entre liste et ensemble
5. Comparaison côte à côte - Liste vs Ensemble sous forme de tableau
6. Résumé
La liste est une interface qui étend l'interface Collection. Il existe un certain nombre de méthodes dans l'interface Collection. La méthode add permet d'ajouter un élément. La 'méthode de suppression' consiste à supprimer un élément. Il existe une 'méthode addAll' pour ajouter plusieurs éléments et une méthode 'removeAll' pour supprimer les éléments de la collection. La méthode contient permet de déterminer si un objet spécifique est présent ou non dans la liste. Le contenu de chaque élément consiste à déterminer si un ensemble d'objets est présent dans la collection. La méthode itérateur est utilisée pour parcourir les éléments de la liste. Au fur et à mesure que List s'étend Collection, toutes les méthodes de Collection appartiennent à List. Outre ces méthodes, la liste contient des méthodes telles que get et set. Le programmeur peut obtenir une valeur à un index spécifique en utilisant la méthode get. Le programmeur peut définir une valeur à un index spécifique en utilisant la méthode set. Le 'indexOf' est utilisé pour trouver l'index d'un élément.
Dans une liste, les opérations peuvent être effectuées en fonction de la position. Le programmeur peut fournir l’élément de données à ajouter à l’index. Donc, il sera ajouté à l'index spécifique. Si le programmeur ne donne pas d'index, l'élément sera ajouté à la fin de la liste. Il maintient également la commande insérée. Si l'élément 1 est ajouté et ensuite l'élément2 est ajouté, l'élément1 sera avant l'élément2.
Figure 01: Liste et ensemble
ArrayList, LinkedList, Vector sont des classes qui implémentent List. Dans une ArrayList, l'accès à un élément est rapide, mais l'insertion et la suppression sont plus faibles. ArrayList n'est pas thread-safe. L'accès au même ArrayList à partir de plusieurs threads peut ne pas donner le même résultat. Dans une LinkedList, les éléments sont liés à la fois en amont et en aval. L'insertion et la suppression d'éléments à l'aide d'une liste LinkedList est plus rapide que la classe ArrayList. LinkedList implémente List et Queue Both. Vector est similaire à ArrayList, mais il est sans danger pour la bande de roulement car toutes les méthodes sont synchronisées..
Set est une interface qui étend l’interface Collection. Comme l'interface de Set s'étend de Collection, toutes les méthodes de Collection appartiennent également à Set. Un ensemble ne prend pas en charge les valeurs de duplication. Par conséquent, le programmeur ne peut pas stocker le même élément deux fois. Il maintient un ensemble unique d'éléments. L’interface SortedSet étend l’interface Set. SortedSet conserve les éléments dans un ordre trié. L’interface NavigableSet étend SortedSet. NavigableSet fournit des méthodes de navigation telles que bas, sol, plafond, etc..
HashSet, LinkedHashSet et TreeSet sont des classes qui implémentent l'interface Set. le HashSet implémente l'interface Set. Il ne conserve pas l'ordre inséré. Si les valeurs sont insérées sous la forme a, x, b, elles peuvent être stockées sous la forme, x, a, b. le LinkedSet maintient l'ordre inséré. Si les éléments sont insérés dans un ordre, x, b, l'ordre de stockage sera a, x, b. le TreeSet implémente Set et NavigableSet. Il ne conserve pas l'ordre d'insertion mais stocke les éléments dans l'ordre trié. Si l'ordre inséré est a, c, b, les éléments seront alors stockés sous la forme a, b, c. Les éléments HashSet, LinkedHashSet et TreeSet ne contiendront aucun élément en double..
Liste vs ensemble | |
Interface de liste est la sous-interface de Collection qui contient des méthodes pour effectuer des opérations telles que insérer, supprimer en fonction de l'index.. | Set Interface est une sous-interface de Collection qui contient des méthodes pour effectuer des opérations telles que l'insertion, la suppression d'éléments tout en conservant les éléments uniques.. |
Des classes | |
ArrayList, Vector et LinkedList sont des classes qui implémentent l'interface List.. | HashSet, LinkedHashSet et TreeSet sont des classes qui implémentent l'interface Set.. |
Duplication d'élément | |
La liste prend en charge la duplication d'éléments. | L'ensemble ne prend pas en charge la duplication d'éléments. Les éléments sont uniques. |
Les collections sont utilisées pour stocker des éléments de manière dynamique. Les langages de programmation tels que Java fournit l'interface Collection. List et Set sont deux interfaces appartenant à l'interface Collection. Les deux interfaces étendent Collection. Cet article traite de la différence entre List et Set. La principale différence entre List et Set est que List prend en charge le stockage du même élément plusieurs fois alors que Set ne prend pas en charge le stockage du même élément plusieurs fois. Set conserve toujours des éléments uniques.
1.Point, tutoriels. "Collections Java.", Tutoriels Point, 8 janvier 2018. Disponible ici