Heim > Java > javaLernprogramm > Stream-API in Java 8: So filtern Sie Elemente in einer Sammlung mit der Methode filter()

Stream-API in Java 8: So filtern Sie Elemente in einer Sammlung mit der Methode filter()

WBOY
Freigeben: 2023-08-01 08:43:48
Original
3454 Leute haben es durchsucht

Stream-API in Java 8: So verwenden Sie die filter()-Methode zum Filtern von Elementen in einer Sammlung

Einführung:
Java 8 führt die Stream-API ein, die uns eine einfachere und effizientere Möglichkeit bietet, Sammlungen zu verarbeiten. Stream ist eine neue Abstraktionsschicht von Java 8, die es uns ermöglicht, verschiedene Daten auf funktionale Programmierweise zu verarbeiten. In der Stream-API ist die Methode filter() eine der sehr nützlichen Methoden, mit der Elemente in der Sammlung gefiltert werden können. In diesem Artikel werfen wir einen tieferen Blick auf die filter()-Methode und untersuchen ihre Verwendung und Beispiele.

1. Was ist die filter()-Methode? Die filter()-Methode ist eine Zwischenoperationsmethode in der Stream-API. Als Parameter erhält es eine Predicate-Funktionsschnittstelle, die zum Filtern der Elemente in der Sammlung verwendet wird. Die Predicate-Schnittstelle definiert eine test(T t)-Methode, die zur bedingten Beurteilung der angegebenen Parameter und zur Rückgabe eines booleschen Werts verwendet wird. Die filter()-Methode übergibt jedes Element in der Sammlung als Parameter an die test()-Methode von Predicate. Wenn true zurückgegeben wird, wird das Element beibehalten, andernfalls wird es verworfen.

2. So verwenden Sie die filter()-Methode

Um die filter()-Methode zu verwenden, müssen Sie zunächst eine Sammlung erstellen und diese dann in einen Stream konvertieren. Rufen Sie dann die Methode filter() auf und verwenden Sie die funktionale Schnittstelle Predicate als Parameter. Die Methode filter() gibt einen neuen Stream zurück, der Elemente enthält, die die Kriterien erfüllen. Verarbeiten Sie diesen neuen Stream abschließend mithilfe der Terminalbetriebsmethode.

Hier ist ein Beispielcode, der die Verwendung der filter()-Methode zeigt:

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

public class FilterExample {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);

        // 使用filter()方法筛选偶数
        List<Integer> evenNumbers = numbers.stream()
                .filter(n -> n % 2 == 0)
                .collect(Collectors.toList());

        System.out.println("偶数列表:" + evenNumbers);
    }
}
Nach dem Login kopieren

Im obigen Beispiel erstellen wir zunächst ein List-Objekt und fügen einige Zahlen hinzu. Dann konvertieren wir dieses List-Objekt in ein Stream-Objekt und verwenden die filter()-Methode, um die geraden Zahlen herauszufiltern. In den Parametern der filter()-Methode verwenden wir den Lambda-Ausdruck n -> n % 2 == 0, um zu bestimmen, ob die Zahl gerade ist. Abschließend verwenden wir die Methode „collect()“, um die gefilterten Ergebnisse in ein List-Objekt umzuwandeln und auszudrucken.

Das Ausgabeergebnis lautet: „Liste gerader Zahlen: [2, 4]“

3 Anwendungsszenarien der filter()-Methode

Die filter()-Methode hat viele Anwendungsszenarien in der tatsächlichen Entwicklung. Hier sind einige häufige Szenarien:

    Elemente herausfiltern, die eine bestimmte Bedingung erfüllen. Filtern Sie beispielsweise alle Schüler, die älter als 18 Jahre sind, aus einer Schülerliste heraus.
  1. List<Student> adults = students.stream()
            .filter(s -> s.getAge() > 18)
            .collect(Collectors.toList());
    Nach dem Login kopieren
    Filtern Sie einen bestimmten Bereich von Elementen heraus. Filtern Sie beispielsweise alle Zahlen größer oder gleich 10 und kleiner oder gleich 20 aus einer Zahlenliste heraus.
  1. List<Integer> range = numbers.stream()
            .filter(n -> n >= 10 && n <= 20)
            .collect(Collectors.toList());
    Nach dem Login kopieren
    Nicht leere Elemente herausfiltern. Filtern Sie beispielsweise alle nicht leeren Zeichenfolgen aus einer Zeichenfolgenliste heraus.
  1. List<String> nonEmptyStrings = strings.stream()
            .filter(s -> s != null && !s.isEmpty())
            .collect(Collectors.toList());
    Nach dem Login kopieren
    Zusammenfassung: Die

    filter()-Methode ist eine sehr häufig verwendete Methode in der Stream-API, die uns dabei helfen kann, Elemente in der Sammlung effizient zu filtern. Durch die Verwendung der filter()-Methode können wir Daten auf prägnante und elegante Weise verarbeiten. Ich hoffe, dass dieser Artikel Ihnen hilft, die Verwendung der Methode filter () zu verstehen und flexibel in tatsächlichen Projekten verwendet werden kann.

    Das obige ist der detaillierte Inhalt vonStream-API in Java 8: So filtern Sie Elemente in einer Sammlung mit der Methode filter(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage