Entendendo o Spliterator, o Collector e o Stream no Java 8
Estou tendo dificuldade em entender oStream
interface no Java 8, especialmente onde tem a ver com oSpliterator
eCollector
interfaces. Meu problema é que eu simplesmente não consigo entender aindaSpliterator
e aCollector
interfaces e, como resultado,Stream
interface ainda é um pouco obscura para mim.
O que exatamente é umSpliterator
e umCollector
e como posso usá-los? Se eu estou disposto a escrever meu próprioSpliterator
ouCollector
(e provavelmente meuStream
nesse processo), o que devo fazer e não fazer?
Eu li alguns exemplos espalhados pela web, mas como tudo aqui é novo e sujeito a mudanças, exemplos e tutoriais ainda são muito escassos.