美文网首页
Stream的常用方法

Stream的常用方法

作者: flyjar | 来源:发表于2022-08-15 15:29 被阅读0次
方法名 返回值 重点
count long 计算条数
forEach void 增强遍历
reduce Option reduce((result,item)->{ result=result+item;return result; });或者 reduce(Intger::sum); 注意:如果流中只有一条数据的话,那么不会执行reduce里面的方法,直接返回这条数据
match boolean anyMatch 元素是否有任意一个满足条件; allMatch 元素是否都满足条件; noneMatch 元素是否都不满足条件。参数和filter一样,都是一个断言类型的函数式接口
find Option findFirst返回第一个;findAny随机返回一个
min Option min((o1,o2)->o1-o2)或者min(Integer::compareTo)
max Option max((o1,o2)->o1-o2)或者max(Integer::compareTo)
filter Stream 过滤不合适的
limit Stream 截取前几个
skip Stream 跳过前几个
map Stream 返回一个新的元素
concat Stream Stream的静态方法,将两个Stream连接到一起
sorted Stream sorted((o1,o2)->o1-o2)或者sorted((o1,o2)->o2-o1)或者sorted(Integer::compareTo)
distinct Stream 此方法没有参数。只能对java的基础数据类型进行排序。如果是自定义类的话,需要这个类自己重写hash和equals方
flatMap Stream List<List<String>> 将三维的list,合并成二维的。List<String>

重点:

非终结方法:返回值类型仍然是 Stream 类型的方法,支持链式调用。(除了终结方法外,其余方法均为非终结方法。)终结方法就是值不再是Stream的

Stream注意事项(重要)

  1. Stream只能操作一次
  2. Stream方法返回的是新的流
  3. Stream不调用终结方法,中间的操作不会执行

相关文章

网友评论

      本文标题:Stream的常用方法

      本文链接:https://www.haomeiwen.com/subject/saqlgrtx.html