El filtro de flujo (predicado de predicado) devuelve un flujo que consiste en los elementos de este flujo que coinciden con el predicado dado. Esta es una operación intermedia. Estas operaciones siempre son perezosas, es decir, ejecutar una operación intermedia como filter() en realidad no realiza ningún filtrado, sino que crea una nueva secuencia que, cuando se recorre, contiene los elementos de la secuencia inicial que coinciden con el predicado dado.
Sintaxis:
Stream<T> filter(Predicate<? super T> predicate)
Donde Stream es una interfaz y T es el tipo de entrada al predicado.
Tipo de retorno: una nueva secuencia.
Implementación:
- Filtrar los elementos divisibles por algún número específico que oscila entre 0 y 10.
- Filtrar los elementos con una letra mayúscula en cualquier índice específico.
- Filtrado de los elementos que terminan con letras alfabéticas personalizadas.
Ejemplo 1: método filter() con la operación de filtrar los elementos divisibles por 5.
Java
// Java Program to get a Stream Consisting of the Elements // of Stream that Matches Given Predicate for Stream filter // (Predicate predicate) // Importing required classes import java.util.*; // Class class GFG { // Main driver method public static void main(String[] args) { // Creating a list of Integers List<Integer> list = Arrays.asList(3, 4, 6, 12, 20); // Getting a stream consisting of the // elements that are divisible by 5 // Using Stream filter(Predicate predicate) list.stream() .filter(num -> num % 5 == 0) .forEach(System.out::println); } }
20
Ejemplo 2: método filter() con la operación de filtrar los elementos con una letra mayúscula en el índice 1.
Java
// Java Program to Get Stream Consisting of Elements // of Stream that Matches Given Predicate // for Stream Filter (Predicate predicate) // Importing required classes import java.util.stream.Stream; // Class class GFG { // Main driver method public static void main(String[] args) { // Creating a stream of strings Stream<String> stream = Stream.of( "Geeks", "fOr", "GEEKSQUIZ", "GeeksforGeeks"); // Getting a stream consisting of the // elements having UpperCase Character // at custom index say be it '1' // using Stream filter(Predicate predicate) stream .filter( str -> Character.isUpperCase(str.charAt(1))) .forEach(System.out::println); } }
fOr GEEKSQUIZ
Ejemplo 3: método filter() con la operación de filtrar los elementos que terminan con una letra alfabética personalizada, digamos que sea ‘s’ para fines de implementación.
Java
// Java Program to Get a Stream Consisting ofElements // of Stream that Matches Given predicate // for Stream filter (Predicate predicate) // Importing required classes import java.util.stream.Stream; // Class class GFG { // Main driver method public static void main(String[] args) { // Creating a stream of strings Stream<String> stream = Stream.of( "Geeks", "foR", "GeEksQuiz", "GeeksforGeeks"); // Getting a stream consisting of the // elements ending with 's' // using Stream filter(Predicate predicate) stream.filter(str -> str.endsWith("s")) .forEach(System.out::println); } }
Geeks GeeksforGeeks
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA