Estou querendo imprimir o seguinte:
Lista de Pessoas
Qtd de Pessoas: 4
Nome: Bruna
Nome: Maria
Nome: Paulo
Nome: Roberto
Fiz o seguinte código:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamLambdaTest {
static class Pessoa {
String nome;
public Pessoa(String nome) {
super();
this.nome = nome;
}
@Override
public String toString() {
return nome;
}
}
public static void main(String[] args) {
List<Pessoa> listaDePessoa = Arrays
.asList("Paulo", "Maria", "Roberto", "Bruna").stream()
.map(Pessoa::new)
.collect(Collectors.toList());
StringBuilder stringBuilder = new StringBuilder("Lista de Pessoas")
.append("\nQtd de Pessoas: ")
.append(listaDePessoa.size());
listaDePessoa.stream().map(Pessoa::toString).sorted()
.forEach(stringBuilder.append("\nNome: ")::append);
System.out.println(stringBuilder);
}
}
mas está imprimindo:
Lista de Pessoas
Qtd de Pessoas: 4
Nome: BrunaMariaPauloRoberto
gostaria de saber o porquê de não estar imprimindo da forma que eu queria.