Stream filter() en Java con ejemplos

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:

  1. Filtrar los elementos divisibles por algún número específico que oscila entre 0 y 10.
  2. Filtrar los elementos con una letra mayúscula en cualquier índice específico.
  3. 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);
    }
}
Producción

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);
    }
}
Producción

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);
    }
}
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *