Мне трудно понять интерфейс Stream в Java 8, особенно там, где это связано с Spliterator и Collector. Моя проблема в том, что я просто не могу понять интерфейсы Spliterator и Collector, и в результате интерфейс Stream все еще несколько неясен для меня.
Что такое Spliterator и Collector, и как я могу их использовать? Если я готов написать свой собственный Spliterator или Collector (и, возможно, мой собственный Stream в этом процессе), что мне делать и не делать?
Я читал несколько примеров, разбросанных по сети, но поскольку все здесь является новым и подверженным изменениям, примеры и руководства по-прежнему очень скудны.