Maison > Java > javaDidacticiel > le corps du texte

Filtre API de flux Java

PHPz
Libérer: 2023-08-29 16:05:06
avant
1529 Les gens l'ont consulté

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)
Copier après la connexion

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);
   }
}
Copier après la connexion

Sortie

20
Copier après la connexion

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);
   }
}
Copier après la connexion

Sortie

FOR
QUIZ
Copier après la connexion

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);
   }
}
Copier après la connexion

Sortie

Class
WaytoClass
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!