- 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.