Maison >Java >javaDidacticiel >Filtre API de flux Java

Filtre API de flux Java

PHPz
PHPzavant
2023-08-29 16:05:061572parcourir

Java Stream API Filter(过滤器)

Un flux composé d'éléments du flux qui satisfont au prédicat spécifié sera renvoyé par la fonction de filtre de flux. Il s'agit d'une opération de niveau intermédiaire. Ces opérations sont toujours paresseuses, c'est-à-dire que l'exécution d'une fonction de filtre ou d'une autre opération intermédiaire ne filtre rien, mais génère un nouveau flux qui, lorsqu'il est parcouru, inclut les éléments du flux initial qui satisfont au prédicat fourni ;

Grammaire

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

Lorsque T est le type d'entrée du prédicat et que le flux est une interface.

Type de retour

Un nouveau stream.

Mise en œuvre

  • Élimination des éléments pouvant être divisés en une plage de nombres allant de 0 à 10.

  • Supprimez les entrées commençant par une lettre majuscule à un index spécifique.

  • Supprimez les composants se terminant par des lettres spécifiques.

Exemple 1 : méthode filter() avec opération de filtrage des éléments divisibles par 5

// 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);
   }
}

Sortie

20

Exemple 2 : utilisez la méthode filter() pour filtrer les éléments avec des lettres majuscules à l'index 1

// 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);
   }
}

Sortie

FOR
QUIZ

Exemple 3 : méthode filter() avec opération de filtrage de l'élément se terminant par la lettre alphabétique des douanes

// 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);
   }
}

Sortie

Class
WaytoClass

Conclusion

Une façon d'améliorer les fonctionnalités de notre code Java consiste à utiliser la méthode filter(). Le contraire de la coercition ou de la méthodologie. Cependant, il y a certaines choses à garder à l’esprit lors de l’utilisation de la fonction filter().

Par exemple, enchaîner plusieurs méthodes de filtrage peut ralentir l'exécution de votre code. En effet, un nouveau flux d'éléments satisfaisant la condition de prédicat peut être créé en tant qu'opération intermédiaire. Par conséquent, la clé pour réduire le nombre d’appels à filter() est de combiner les prédicats en une seule phrase.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer