Streams Api

allMatch

Trabalhando com allMatch

O método allMatch é uma operação da Streams API do Java 8 que permite verificar se todos os elementos de uma stream satisfazem uma determinada condição especificada em uma função lambda.

Sintaxe

A sintaxe básica do allMatch é simples. Ele aceita uma função como argumento, que retorna um valor booleano indicando se um elemento atende ao critério especificado.

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

boolean todosPares = numeros.stream()
                            .allMatch(valor -> {
                                // Condição de correspondência
                            });

Exemplo

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

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

boolean resultado1 = numeros.stream().allMatch(valor -> valor % 2 == 0);
System.out.println(resultado1); // false

boolean resultado2 = numerosPares.stream().allMatch(valor -> valor % 2 == 0);
System.out.println(resultado2); // true

Este código verifica se todos os elementos da lista numeros são pares. Como há números ímpares na lista, o resultado será false. No entanto, para a lista numerosPares, como todos os elementos são pares, o resultado será true.

Dicas

  • O allMatch é útil para verificar se todos os elementos de uma coleção satisfazem uma condição específica.
  • A função lambda passada para o allMatch deve retornar true para todos os elementos que atendem ao critério especificado e false para aqueles que não atendem.
  • É importante notar que o allMatch interrompe a execução assim que encontra um elemento que não corresponde ao critério especificado. Portanto, pode ser mais eficiente para grandes coleções quando a correspondência falha cedo.