企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## [流支持](https://lingcoder.gitee.io/onjava8/#/book/14-Streams?id=%e6%b5%81%e6%94%af%e6%8c%81) Java 设计者面临着这样一个难题:现存的大量类库不仅为 Java 所用,同时也被应用在整个 Java 生态圈数百万行的代码中。如何将一个全新的流的概念融入到现有类库中呢? 比如在**Random**中添加更多的方法。只要不改变原有的方法,现有代码就不会受到干扰。 一个大的挑战来自于使用接口的库。集合类是其中关键的一部分,因为你想把集合转为流。但是如果你将一个新方法添加到接口,那就破坏了每一个实现接口的类,因为这些类都没有实现你添加的新方法。 Java 8 采用的解决方案是:在[接口](https://lingcoder.gitee.io/onjava8/#/10-Interfaces)中添加被`default`(`默认`)修饰的方法。通过这种方案,设计者们可以将流式(*stream*)方法平滑地嵌入到现有类中。流方法预置的操作几乎已满足了我们平常所有的需求。流操作的类型有三种:创建流,修改流元素(中间操作, Intermediate Operations),消费流元素(终端操作, Terminal Operations)。最后一种类型通常意味着收集流元素(通常是到集合中)。 下面我们来看下每种类型的流操作。