zxy0307's picture
Upload 2300 files
0284885 verified
Raw History Blame Contribute Delete
1.81 kB
package Stream_Case_package;
import java.util.ArrayList;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
public class Case_demo2 {
public static void main(String[] args) {
/*
练习:
创建一个ArrayList集合,并添加以下字符串,字符串中前面是姓名,后面是年龄
"zhangsan,23",
"lisi,24",
"wangwu,25"
保留年龄大于等于24岁的人,并将结果收集到Map集合中,姓名为键,年龄为值
*/
//1、创建一个ArrayList集合
ArrayList<String> list = new ArrayList<>();
//2、添加以下字符串
list.add("zhangsan,23");
list.add("lisi,24");
list.add("wangwu,25");
System.out.println(list);
//3、保留年龄大于等于24岁的人
//姓名为键,年龄为值
list.stream()
.filter(s -> Integer.parseInt(s.split(",")[1]) >= 24)
.collect(Collectors.toMap(new Function<String, String>() {
@Override
public String apply(String s) {
return s.split(",")[0];
}
}, new Function<String, Integer>() {
@Override
public Integer apply(String s) {
return Integer.parseInt(s.split(",")[1]);
}
}));
Map<String, Integer> map = list.stream()
.filter(s -> Integer.parseInt(s.split(",")[1]) >= 24)
.collect(Collectors.toMap(
s -> s.split(",")[0],
s -> Integer.parseInt(s.split(",")[1])
));
System.out.println(map);
}
}