流和惰性求值
- 论坛
- 流和惰性求值
27 浏览
流和惰性求值
我正在阅读来自Java 8 API关于流抽象的内容,但是对于下面这句话理解得不太好:
中间操作返回一个新的流。它们总是惰性的;
执行中间操作(如filter())实际上并不执行任何过滤操作,而是创建一个新的流,该流在遍历时包含与给定条件匹配的初始流元素。直到执行流的终端操作之前,流水线的源不会开始遍历。
当filter操作创建一个新的流时,这个流是否包含经过过滤的元素?
似乎理解是只有当流被遍历时,它才包含元素,即通过终端操作。但是,过滤后的流含有什么?我感到困惑!!!