Différence entre liste et ensemble en Java

Auteur: Laura McKinney
Date De Création: 2 Avril 2021
Date De Mise À Jour: 16 Peut 2024
Anonim
Différence entre liste et ensemble en Java - La Technologie
Différence entre liste et ensemble en Java - La Technologie

Contenu


L'interface List and Set étend la collection. Les deux conservent la collection d'éléments ou d'objets. Mais la différence majeure qui les distingue les uns des autres est que List est une collection d’éléments ordonnés, les éléments sont ajoutés ou supprimés ou accessibles à l’aide d’une variable d’index. D'autre part, Set est une collection d'objets dans laquelle la collection n'autorise pas les éléments en double. Étudions quelques différences supplémentaires entre les interfaces List et Set à l’aide du tableau de comparaison ci-dessous.

  1. Tableau de comparaison
  2. Définition
  3. Différences Clés
  4. Conclusion

Tableau de comparaison

Base de comparaisonliste Ensemble
De baseList conserve la séquence des éléments stockés dans une liste.Set ne conserve pas particulièrement l'ordre d'insertion mais Linked HashSet conserve l'ordre d'insertion.
ReproductionLa liste peut contenir des éléments en double.La méthode add () renvoie false si vous essayez d'insérer les éléments en double.
Les méthodesOutre les méthodes définies dans Collection, List définit certaines de ses propres méthodes.Set ne définit aucune méthode supplémentaire.
la mise en oeuvre La liste est implémentée par ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.Set est implémenté par HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.


Définition de liste

L'interface de liste étend l'interface Collection. Une liste est une collection ordonnée d'éléments ou d'objets. Contrairement à Set, List peut contenir des éléments en double. En plus des méthodes définies dans Collection List, elle définit certaines méthodes, comme les méthodes get () et set () basées sur l'index. Les méthodes add () et remove () héritées de Collection qui ajoute ou supprime l'élément spécifié de l'index spécifié dans l'argument de la méthode. La liste est une sorte de tableau dont la taille augmente à mesure que nous ajoutons des éléments à la liste.

La liste ne définit aucune méthode pour agir sur la plage d'index d'une liste. Il définit une méthode sublist () qui renvoie une sous-liste à partir de la liste d'origine d'une plage spécifiée. Les modifications apportées à la sous-liste apparaissent également dans la liste d'origine. L'interface de liste est implémentée par ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.


Définition de l'ensemble

Set interface étend l'interface Collection. Set interface est une collection ou un groupe d'objets qui ne contient aucun objet en double. Cela signifie que deux références ne peuvent pas faire référence à un objet, ou qu'une référence ne peut pas faire référence à deux objets, ou qu'il ne peut pas y avoir deux références faisant référence à Null. L'ordre ou la séquence de l'élément n'est pas important. Ensemble, mais ce n'est pas qu'il interdit l'ensemble ordonné.

Set interface ne définit aucune méthode en plus de la méthode définie dans Collection. Au lieu de cela, il restreint les méthodes de collection add () et addall () pour ajouter tout objet en double dans une collection. Si vous essayez d'ajouter un objet en double dans une collection en utilisant la méthode add () de Collection, il renvoie false. Sinon, cela retourne vrai. L'ensemble d'interface est implémenté par HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

  1. La séquence d'éléments / objets dans une collection est conservée dans List alors que Set ne conserve pas l'ordre des éléments mais il existe une exception. LinkedHashSet conserve l'ordre d'insertion.
  2. La liste peut avoir des éléments en double car elle identifie tout élément avec son index, mais Set n'autorise aucun élément en double car elle ne possède aucun type d'index pour identifier un objet dans une collection.
  3. La liste définit certaines méthodes par elle-même, en plus des méthodes définies dans Collection. D'autre part, Set ne définit aucune méthode en soi, mais restreint l'utilisation des méthodes de Collection pour ajouter des éléments en double.
  4. La liste est implémentée par les interfaces ArrayList, LinkedList, CopyOnWriteArrayList, Vector et Stack. D'autre part, Set est implémenté par les interfaces HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

Conclusion:

L'utilisation de l'interface Liste et Ensemble dépend de l'exigence. Si l'ordre des objets / éléments est important, vous devez utiliser l'interface de liste. Si vous n'avez pas besoin d'éléments en double dans votre collection, vous devez utiliser l'interface Set