„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie entferne ich Duplikate effizient aus Listen in Java?

Wie entferne ich Duplikate effizient aus Listen in Java?

Veröffentlicht am 12.11.2024
Durchsuche:860

How to Efficiently Remove Duplicates from Lists in Java?

Entfernen von Duplikaten aus Listen in Java

Bei der Arbeit mit Datensätzen ist es häufig erforderlich, doppelte Elemente aus Listen zu entfernen. Dies ist insbesondere dann relevant, wenn es um die Gewährleistung der Datenintegrität und einer effizienten Verarbeitung geht. In Java gibt es einige Ansätze, um diese häufige Aufgabe zu bewältigen.

Naive Duplikaterkennung

Ein häufiger Versuch, Duplikate aus Listen zu entfernen, besteht darin, die Existenz jedes Elements zu überprüfen innerhalb der Liste mit der Methode enthält(). Allerdings kann dieser Ansatz bei großen Listen rechenintensiv und ineffizient sein.

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

Effiziente Duplikatentfernung

Erwägen Sie für eine optimale Leistung und Speichernutzung die Verwendung alternativer Ansätze wie:

  1. LinkedHashSet: Die LinkedHashSet-Klasse behält die Reihenfolge der Elemente bei und eliminiert gleichzeitig Duplikate. Beim Konvertieren einer Liste in ein LinkedHashSet und zurück in eine Liste bleibt die ursprüngliche Reihenfolge erhalten, ohne dass eine explizite Prüfung erforderlich ist:
List depdupeCustomers =
    new ArrayList(new LinkedHashSet(customers));
  1. Set Mutation: Wenn Sie die ursprüngliche Liste direkt ändern möchten, ziehen Sie in Betracht, sie in ein LinkedHashSet zu konvertieren und zu entfernen Duplikate und Aktualisieren der ursprünglichen Liste:
Set depdupeCustomers = new LinkedHashSet(customers);
customers.clear();
customers.addAll(dedupeCustomers);

Diese Techniken beseitigen effektiv doppelte Elemente und nutzen gleichzeitig effiziente Datenstrukturen und Algorithmen, um optimale Leistung und Datenintegrität in Ihren Java-Anwendungen sicherzustellen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3