Что случилось с java.util.stream.Streamable?

Раннее jdk8-ea javadocs вроде этого указывает, что существует интерфейс java.util.stream.Streamable, который, как представляется, имеет такое же отношение к Stream, как Iterable имеет значение Iterator.

Теперь кажется, что мы застряли с Supplier<Stream>, что, конечно же, не то же самое.

Что случилось с Streamable?

Ответы

Ответ 1

Он был удален некоторое время назад. Обоснование для удаления было дано Брайаном Гетцем:

В настоящее время Реализация - это сборник, и все другие потоковые методы обслуживают специализированные потоки (chars(), codePoints(), lines() и т.д.), с именем метода, которое более подходит, чем "поток". Поэтому я думаю, что мы следует отключить Streamable и оставить методы stream()/parallel() на Коллекция (или, возможно, переместить их в Iterable).

И также:

Я начинаю думать, что Streamable не несет своего веса. Я бы как рассмотреть возможность сброса Streamable, в этот момент базовый реализация parallel() находится в коллекции, и я также предлагаю нам переименуйте это в parallelStream().

В этот другой пост он добавляет:

если все, что является Итерабельно, эффективно Streamable (потому что Iterable имеет метод stream()) и все Streamable эффективно Iterable (потому что вы можете включить Spliterator в Итератор), не являются ли они той же абстракцией?