当前位置:网站首页>collect.stream().collect()方法的使用

collect.stream().collect()方法的使用

2022-06-11 19:03:00 后觉2022

Stream的用法:
1:简单无存储,属于数据源的一个单向视图.
2.对于stream的任何修改,都不会修改到原来的list,这就是我上面所说的单向.比如你对strram进行排序或者删除操作,原来的list不会作任何改变,会产生一个新的你操作之后的stream视图.
3.惰式执行 对 stream的操作并不回立即执行,如果用户真正需要的时候才会执行(有点像system.gc()方法)
4.消费即消失 生成的stream视图一旦遍历就会消失,如果需要则要重新生成

 
stuMap=stuList.stream().collect(Collectors.toMap(Student::getSex,student->student, (key1, key2) -> key2));

这行代码Student::getSex,student->student代表利用student.getSex作为key,student作为value,

同理如果想用student.name作为value可以这样写
stuMap=stuList.stream().collect(Collectors.toMap(Student::getSex,Student::getName, (key1, key2) -> key2));
 (key1, key2) -> key2)这一行代码指的是合并冲突的解决办法,比如最开始两男一女时,
第一个男被合并到第二个男上面,同理如果想以key的第一个值为准,可以写成(key1, key2) -> key1

Java8中Stream详细用法大全_大梦谁先觉i的博客-CSDN博客_java stream

原网站

版权声明
本文为[后觉2022]所创,转载请带上原文链接,感谢
https://block-ai.blog.csdn.net/article/details/125128630