• JP

Java: Streams API - findFirst()

Java 8 Streams introduziu diferentes métodos para manipular coleções. Um destes métodos é o findFirst(), que permite retornar o primeiro elemento de uma Stream através de uma instância Optional.


Na prática

List<String> names =
        Arrays.asList("Monica Souza",
                "Andre Silva",
                "Elisa Santos",
                "Adriano Silva");

Optional<String> opt =
        names.stream()
                .findFirst();
                
System.out.println("Item:" + opt.get());               

Resultado

Item: Monica Souza

Utilizando filter

Optional<String> opt =
        names.stream()
                .filter(f -> f.contains("Silva"))
                .findFirst();

System.out.println("Item:" + opt.get());  

Resultado

Item: Andre Silva

Perceba que retornou o primeiro nome com sobrenome Silva da coleção.

A não utilização de Streams


Se utilizarmos o modo tradicional, ou seja, sem a utilização de Streams. O código ficaria assim, filtrando pelo sobrenome "Silva"

for(String item : list){
    if(item.contains("Silva")){
        break;
    }
}

Neste caso dependemos do break para encerrar a execução.

Posts recentes

Ver tudo