"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment supprimer efficacement les doublons des listes en Java ?

Comment supprimer efficacement les doublons des listes en Java ?

Publié le 2024-11-12
Parcourir:620

How to Efficiently Remove Duplicates from Lists in Java?

Élimination des doublons des listes en Java

Lorsque vous travaillez avec des ensembles de données, il devient souvent nécessaire de supprimer les éléments en double des listes. Ceci est particulièrement important lorsqu’il s’agit de garantir l’intégrité des données et un traitement efficace. En Java, il existe quelques approches pour résoudre cette tâche courante.

Détection naïve des doublons

Une tentative courante pour supprimer les doublons des listes consiste à vérifier l'existence de chaque élément. dans la liste en utilisant la méthode contain(). Cependant, cette approche peut être coûteuse en termes de calcul et inefficace pour les grandes listes.

List listCustomer = new ArrayList();
for (Customer customer : tmpListCustomer) {
  if (!listCustomer.contains(customer)) {
    listCustomer.add(customer);
  }
}

Suppression efficace des doublons

Pour des performances et une utilisation de la mémoire optimales, envisagez d'utiliser des approches alternatives telles que :

  1. LinkedHashSet : La classe LinkedHashSet conserve l'ordre des éléments tout en éliminant les doublons. La conversion d'une liste en LinkedHashSet et de nouveau en liste préserve l'ordre d'origine sans avoir besoin d'une vérification explicite :
List depdupeCustomers =
    new ArrayList(new LinkedHashSet(customers));
  1. Set Mutation : Si vous souhaitez modifier directement la liste d'origine, envisagez de la convertir en LinkedHashSet, en supprimant doublons et mise à jour de la liste d'origine :
Set depdupeCustomers = new LinkedHashSet(customers);
customers.clear();
customers.addAll(dedupeCustomers);

Ces techniques éliminent efficacement les éléments en double tout en utilisant des structures de données et des algorithmes efficaces, garantissant des performances et une intégrité des données optimales dans vos applications Java.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3