专栏【JavaSE】
喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
音乐分享【如愿】
欢迎并且感谢大家指出我的问题
结合了lambda表达式,起到了简化集合,数组的作用
中间方法
对流水线上的数据进行操作终结方法
对流水线上的数据进行操作由于双列集合不能直接获取Stream流,我们可以所有下面2种方法来解决
使用keySet()
获得所有的键
使用entrySet()
获得所有的键值对对象
中间方法,返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程
修改Stream流中的数据,不会影响原来集合或数组中的数据
然后按ctrl+alt+v
自动生成左边
发现是object类型的
如果我们想把数据放到指定类型中,例如String类型,那么一个怎么写呢
list.stream()
.filter(s->"男".equals(s.split("-")[1]))
.collect(Collectors.toMap(键的规则,值的规则));
补全后是
list.stream()
.filter(s->"男".equals(s.split("-")[1]))
.collect(Collectors.toMap(new Function<String, Object>() {
@Override
public Object apply(String s) {
return null;
}
},
new Function<String, Object>() {
@Override
public Object apply(String s) {
return null;
}
}));
为什么new后面是Function
查看toMap的源码,发现里面就是Function
使用map进行收集时,键不能重复
参考视频
基础练习题
综合练习题