支持顺序和并行聚合操作的一系列元素。
看一个JAVA 8_API(地址:https://www.matools.com/api/java8)的示例:
int sum = widgets.stream() .filter(w -> w.getColor() == RED) .mapToInt(w -> w.getWeight()) .sum(); 分析:widgets是Collection<Widget>,通过Collection.stream()创建一个Widget对象的流, .filter()——过滤这个流以产生仅包含红色小部件的流(这个过滤,我觉得换成保留较好,filter() 就是保留满足方法内条件的数据),然后过滤保留后的值,通过mapToInt方法转换为表示每个红色小部件的权重的int值。 然后将该流相加以产生总重量。 除了Stream ,其为对象引用的流,存在原语特为IntStream , LongStream和DoubleStream ,所有这些都称为“流”和符合此处描述的特征和限制。