public class Test07 {
public static void main(String[] args) {
/*
* 创建一个ArrayList集合,并添加以下字符串。字符串中前面是姓名,后面是年龄
* "zhangsan,23""lisi, 24""wangwu, 25""保留年龄大
* 于等于24岁的人,并将结果收集到Map集合中,姓名为键,年龄为值
* */
ArrayList<String> list = new ArrayList<>();
list.add("zhangsan,23");
list.add("lisi,24");
list.add("wangwu,25");
Map<String, Integer> map = list.stream().filter(s -> {
String[] split = s.split(",");
int age = Integer.parseInt(split[1]);
return age >= 24;}
/*
* collect方法只能获取到流中剩余的每一个数据
* 在底层不能创建容器,也不能把数据添加到容器当中
* Collectors.toMap创建一个map集合并将数据添加到集合当中
* s依次表示流中的每一个数据
* */
/*
* 第一个lambda表达式就是如何获取到Map中的键
* 第二个Lambda表达式就是如何获取Map中的值
* */
).collect(Collectors.toMap(
s -> {
return s.split(",")[0];
},
s -> {
return Integer.parseInt(s.split(",")[1]);
}
));
System.out.println(map);
}
}
标签:24,Map,Stream,收集,map,list,add,split
From: https://www.cnblogs.com/dragon-proud-sky/p/18099675