Java: Como extrair uma lista de propriedades de itens de uma lista
Pense na classe Pessoa:
package br.com.dicasdejava.entity;
public class Pessoa {
private String nome;
public Pessoa(String nome) {
this.nome = nome;
}
public String getNome() {
return this.nome;
}
}
Quando você tem em mãos uma lista de Pessoas, e deseja obter uma listagem dos nomes dessas pessoas. O que fazer?
A partir do Java 8 foi introduzido em collections as funcionalidades do Collectors que funcionam em cima do Stream de uma coleção. Sendo assim para obter a lista de nomes utiliza-se o código exemplo a seguir:
List<Pessoa> pessoas = Arrays.asList(new Pessoa("Fulano"), new Pessoa("Ciclano"), new Pessoa("Beltrano"));
List<String> nomes = pessoas.stream().map(Pessoa::getNome).collect(Collectors.toList());
System.out.print(nomes.toArray());
Resultado:
["Fulano", "Ciclano", "Beltrano"]
Referências: