Heim > Java > javaLernprogramm > Hauptteil

Java Stream API-Filter

PHPz
Freigeben: 2023-08-29 16:05:06
nach vorne
1530 Leute haben es durchsucht

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)
Nach dem Login kopieren

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);
   }
}
Nach dem Login kopieren

Ausgabe

20
Nach dem Login kopieren

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);
   }
}
Nach dem Login kopieren

Ausgabe

FOR
QUIZ
Nach dem Login kopieren

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);
   }
}
Nach dem Login kopieren

Ausgabe

Class
WaytoClass
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!