Maison > Java > javaDidacticiel > le corps du texte

Comment supprimer les doublons d'une liste tout en préservant l'ordre ?

Patricia Arquette
Libérer: 2024-11-04 07:17:31
original
691 Les gens l'ont consulté

How to Remove Duplicates from a List While Preserving Order?

Comment supprimer efficacement les doublons d'une liste

Vous rencontrez un scénario dans lequel vous devez supprimer les éléments en double d'une liste. Cependant, votre approche actuelle, comme vous le décrivez dans l'extrait de code, ne donne pas les résultats souhaités.

Une méthode efficace pour supprimer les doublons tout en conservant l'ordre d'origine consiste à utiliser un LinkedHashSet. Cette structure de données basée sur un ensemble supprime automatiquement les éléments en double tout en préservant l'ordre d'insertion.

Pour y parvenir, vous pouvez convertir la liste existante en LinkedHashSet en utilisant le code suivant :

<code class="java">List<Customer> dedupeCustomers = new ArrayList<>(new LinkedHashSet<>(customers));</code>
Copier après la connexion

Alternativement , si vous préférez modifier la liste d'origine, vous pouvez opter pour cette approche :

<code class="java">Set<Customer> dedupeCustomers = new LinkedHashSet<>(customers);
customers.clear();
customers.addAll(dedupeCustomers);</code>
Copier après la connexion

Cette méthode crée d'abord un nouveau LinkedHashSet contenant les éléments uniques de la liste d'origine. La liste d'origine est ensuite effacée et remplacée par les éléments de l'ensemble dédupliqué, supprimant ainsi efficacement tous les doublons.

En mettant en œuvre l'une ou l'autre de ces solutions, vous pouvez supprimer efficacement les doublons de votre liste, en garantissant que chaque élément n'apparaît qu'une seule fois tout en préservant la commande originale si vous le souhaitez.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal