毫无疑问,Java Stream API 的设计考虑了迭代器模式,特别是该模式的内部版本,因为 Stuart Marks 和 Brian Goetz 都慷慨地在 SO 上发布了他们的设计决策。斯图尔特提到最初的原型是如何是基于Iterable https://stackoverflow.com/questions/28459498/why-are-java-streams-once-off/28513908#28513908本身。这对于并行处理来说是不够的,Brian 描述了 Stream API 的最终实现是如何的现在基于Spliterator https://stackoverflow.com/questions/36823726/how-to-use-classic-custom-data-structures-as-java-8-streams/36825703#36825703.
So a Stream仍然是一个迭代器,但是是一个内部迭代器,而不是像旧的 Java APIIterator and Enumeration.