Heim >Java >javaLernprogramm >Java Stream API-Filter

Java Stream API-Filter

PHPz
PHPznach vorne
2023-08-29 16:05:061572Durchsuche

Java Stream API Filter(过滤器)

Ein Stream, der aus Elementen aus dem Stream besteht, die das angegebene Prädikat erfüllen, wird von der Stream-Filterfunktion zurückgegeben. Dies ist eine Operation mittlerer Ebene. Diese Operationen sind immer verzögert, d. h. die Ausführung einer Filterfunktion oder einer anderen Zwischenoperation filtert nichts, sondern generiert einen neuen Stream, der beim Durchlaufen Elemente aus dem ursprünglichen Stream enthält, die das bereitgestellte Prädikat erfüllen.

Grammatik

Stream<T> filter(Predicate<? super T> predicate)

Wenn T der Typ der Prädikateingabe ist und Stream eine Schnittstelle ist.

Rückgabetyp

Ein neuer Stream.

Umsetzung

  • Entfernen von Elementen, die in einen Zahlenbereich von 0 bis 10 unterteilt werden können.

  • Entfernen Sie Einträge, die mit einem Großbuchstaben beginnen, an einem bestimmten Index.

  • Entfernen Sie Komponenten, die mit bestimmten Buchstaben enden.

Beispiel 1: filter()-Methode mit der Operation zum Filtern der Elemente, die durch 5 teilbar sind

// Java Program to get a Stream Consisting of the Elements

import java.util.*;
public class Example {
   public static void main(String[] args){
      List<Integer> list = Arrays.asList(3, 4, 6, 12, 20);
      list.stream()
         .filter(num -> num % 5 == 0)
         .forEach(System.out::println);
   }
}

Ausgabe

20

Beispiel 2: Verwenden Sie die Methode filter(), um Elemente mit Großbuchstaben am Index 1 zu filtern

// Java Program to Get Stream Consisting of Elements

import java.util.stream.Stream;
public class Example  {
   public static void main(String[] args) {
      Stream<String> stream = Stream.of("class", "FOR", "QUIZ", "waytoclass");
      stream.filter(str -> Character.isUpperCase(str.charAt(1)))
         .forEach(System.out::println);
   }
}

Ausgabe

FOR
QUIZ

Beispiel 3: filter()-Methode mit der Operation zum Filtern des Elements, das mit dem alphabetischen Zollbuchstaben endet

// Java Program to Get a Stream Consisting of Elements
import java.util.stream.Stream;
public class Example {

   public static void main(String[] args){
      Stream<String> stream = Stream.of("Class", "FOR", "Quiz", "WaytoClass");
      stream.filter(str -> str.endsWith("s"))
      .forEach(System.out::println);
   }
}

Ausgabe

Class
WaytoClass

Fazit

Eine Möglichkeit, die Funktionalität unseres Java-Codes zu verbessern, ist die Verwendung der filter()-Methode. Das Gegenteil von Zwang oder Methodik. Bei der Verwendung der Funktion filter() sind jedoch einige Dinge zu beachten.

Die Verkettung mehrerer Filtermethoden kann beispielsweise dazu führen, dass Ihr Code langsam ausgeführt wird. Dies liegt daran, dass als Zwischenoperation ein neuer Strom von Elementen erstellt werden kann, die die Prädikatbedingung erfüllen. Daher liegt der Schlüssel zur Reduzierung der Anzahl von filter()-Aufrufen darin, die Prädikate in einem einzigen Satz zusammenzufassen.

Das obige ist der detaillierte Inhalt vonJava Stream API-Filter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen