Streams Api

filter

Trabalhando com filter

O método filter é uma poderosa operação da Streams API do Java 8 que permite filtrar os elementos de uma stream de acordo com um critério especificado em uma função lambda.

Sintaxe

A sintaxe básica do filter é simples. Ele aceita uma função como argumento, que retorna um valor booleano indicando se um elemento deve ser incluído na nova stream.

List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5);

List<Integer> pares = numeros.stream()
                             .filter(valor -> {
                                 // Critério de filtro
                             })
                             .collect(Collectors.toList());

Exemplo

Vamos ver um exemplo prático de como usar o filter:

List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5);

List<Integer> pares = numeros.stream()
                             .filter(valor -> valor % 2 == 0)
                             .collect(Collectors.toList());

System.out.println(pares);

Este código irá filtrar a lista numeros, retornando apenas os números pares. A saída será [2, 4].

Dicas

  • O filter é uma maneira eficiente e concisa de extrair elementos específicos de uma coleção.
  • A função lambda passada para o filter deve retornar true para os elementos que você deseja incluir na nova stream e false para os elementos que deseja excluir.