Adicionando novo valor ao fluxo existente
Existe uma boa maneira de adicionar um novo valor aos existentesStream
? Tudo o que posso imaginar é algo assim:
public <T> Stream<T> addToStream(Stream<T> stream, T elem ) {
List<T> result = stream.collect(Collectors.toList());
result.add(elem);
return result.stream();
}
Mas estou procurando algo mais conciso que possa usar na expressão lambda sem verbosidade.
Outra pergunta apareceu quando tentei implementarPECS princípio:
public <T> Stream<? super T> addToStream(Stream<? super T> stream, T elem ) {
List<? super T> result = stream.collect(Collectors.toList()); //error
result.add(elem);
return result.stream();
}
Parece que o curinga não funciona comStream.collect
e eu estou me perguntando o porquê. Desde já, obrigado.