Heim  >  Artikel  >  Java  >  Stream-API in Java 8: So entfernen Sie doppelte Elemente aus einer Sammlung mithilfe der Methode „distinct()“.

Stream-API in Java 8: So entfernen Sie doppelte Elemente aus einer Sammlung mithilfe der Methode „distinct()“.

PHPz
PHPzOriginal
2023-07-29 16:04:512226Durchsuche

Stream-API in Java 8: So entfernen Sie doppelte Elemente mit der Methode „distinct()“ aus einer Sammlung

In Java 8 wird die Stream-API eingeführt, die eine neue Datenverarbeitungsmethode bereitstellt, mit der Sie präziser und effizienter arbeiten können Sammlungsdaten. Ein häufiger Vorgang besteht darin, doppelte Elemente aus einer Sammlung zu entfernen. Die Stream-API in Java 8 stellt die Methode „distinct()“ zur einfachen Implementierung dieser Funktion bereit.

Zuerst müssen wir die grundlegende Verwendung der Stream-API verstehen. Stream ist ein neuer Datentyp in Java 8, der eine Reihe von Elementen darstellt und verschiedene Operationen ausführen kann. Wir können ein Stream-Objekt erhalten, indem wir die stream()-Methode der Sammlung aufrufen, dann verschiedene Operationen am Stream-Objekt ausführen und schließlich das Ergebnis als neues Stream-Objekt oder andere Datenformen zurückgeben. Die Stream-API stellt uns eine Reihe von Methoden zum Filtern, Zuordnen, Sortieren, Aggregieren und anderen Vorgängen zur Verfügung.

Es ist sehr einfach, die Methode „distinct()“ zu verwenden, um doppelte Elemente aus einer Sammlung zu entfernen. Wir müssen nur die Sammlung in ein Stream-Objekt konvertieren und dann die Methode „distinct()“ aufrufen. Die Methode „distinct()“ gibt ein neues Stream-Objekt zurück, das die deduplizierten Elemente im ursprünglichen Stream-Objekt enthält.

Hier ist ein Beispielcode, der zeigt, wie Sie die Methode „distinct()“ verwenden, um doppelte Elemente aus einer Sammlung zu entfernen:

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class DistinctExample {
    public static void main(String[] args) {

        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);

        System.out.println("原始集合:" + numbers);

        List<Integer> distinctNumbers = numbers.stream()
                                               .distinct()
                                               .collect(Collectors.toList());

        System.out.println("去重后的集合:" + distinctNumbers);
    }
}

Im obigen Beispiel haben wir eine Listensammlung erstellt, die doppelte Elemente enthält. Anschließend konvertieren wir es in ein Stream-Objekt, indem wir die stream()-Methode der Zahlensammlung aufrufen. Als nächstes rufen wir die Methode „distinct()“ auf, um doppelte Elemente zu entfernen, und konvertieren das Ergebnis über „collect(Collectors.toList())“ in eine neue Listensammlung.

Führen Sie den obigen Code aus, wir können die folgende Ausgabe erhalten:

Originalsatz: [1, 2, 3, 1, 2, 3]
Duplikatsatz: [1, 2, 3]

Sie können sehen, Verwenden Sie die Methode „distinct()“, um doppelte Elemente erfolgreich aus der Sammlung zu entfernen.

Es ist zu beachten, dass die Methode „distinct()“ Duplikate basierend auf der Methode „equals()“ des Elements entfernt. Wenn es sich bei den Elementen in der Sammlung um benutzerdefinierte Objekte handelt, müssen wir sicherstellen, dass das Objekt die Methode equal() korrekt implementiert.

Darüber hinaus kann die Methode „distinct()“ auch zum Deduplizieren von Objekten verwendet werden. Implementieren Sie einfach die Methode equal() korrekt in der Objektklasse.

Zusammenfassend lässt sich sagen, dass die Stream-API in Java 8 eine übersichtliche und effiziente Möglichkeit bietet, doppelte Elemente aus einer Sammlung zu entfernen. Wir können diese Funktion einfach implementieren, indem wir die Methode „distinct()“ aufrufen. Die Verwendung der Stream-API kann mühsamen Code reduzieren und die Lesbarkeit und Wartbarkeit des Codes verbessern. Wenn Sie die Stream-API in Java 8 noch nicht ausprobiert haben, ist es jetzt an der Zeit, sie zu erlernen und anzuwenden!

Das obige ist der detaillierte Inhalt vonStream-API in Java 8: So entfernen Sie doppelte Elemente aus einer Sammlung mithilfe der Methode „distinct()“.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn