Lambda表达式

Lambda表达式是啥?

形如 (参数部分) -> (表达式).这样是一个Lambda表达式.
和ES6里面的函数表达式挺像的,应该不用特别说明了.

聚合操作

聚合操作可以对于集合进行流式操作.显得更加简洁.
聚合操作由一个源,多个中间操作和一个终端操作组成.
如:

double average = roster
    .stream()                                       // Stream< Person >  
    .filter(p -> p.getGender() == Person.Sex.MALE)  // Stream< Person >
    .mapToInt(Person::getAge)                       // IntStream  
    .average()                                      // OptionalDouble
    .getAsDouble();                                 // Double  

终端操作不带返回值,中间操作返回一个流.
聚合操作包括:
对元素进行筛选:
filter 匹配
distinct 去除重复(根据equals判断)
sorted 自然排序
sorted(Comparator) 指定排序
limit 保留
skip 忽略
转换为其他形式的流
mapToDouble 转换为double的流
map 转换为任意类型的流

forEach() 遍历每个元素
toArray() 转换为数组
min(Comparator) 取最小的元素
max(Comparator) 取最大的元素
count() 总数
findFirst() 第一个元素

参考资料:

原文地址:https://www.cnblogs.com/bestefforts/p/11346203.html