微信技术群:Day9884125
用stream流操作集合常用的方式
提取list中某个元素
将list集合中的某个元素提取出来,放到新的list中
List<User> list = new ArrayList();
// 将集合转化成流,提取出集合中的某个元素,并将结果输出成list集合
List<name> names = list.stream().map(User :: getName)
.collect(Collectors.toList());
将list转化为map
List<User> list = new ArrayList();
// 将集合转化成流,提取出集合中的某个元素作为map的key,
// 将list中对象作为map的value,并将结果输出成map集合
Map<String, User> userMap = list.stream()
.collect(Collectors.toMap(User :: getId, f -> f));
找出list集合中符合条件的数据
List<User> list = new ArrayList();
// 将集合转化成流,提取出集合中符合条件的元素,并将结果输出成list集合
List<User> users = list.stream()
.filter(user -> user.getSex.equals("男"))
.collect(Collectors.toList());
将list中的字段提取出来转化成map
Map<String, String> map = list.stream()
.collect(Collectors.toMap(TestBean::getName, TestBean::getType));
将list中的字段替换成想要的内容
List<TestBean> listNew = list.stream()
.peek(testBean -> {
String ty = testBean.getType().equals("0")? "学生" : "成年人";
String de = testBean.getSex().equals("0") ? "女" : "男";
testBean.setType(ty);
testBean.setSex(de);
})
.collect(Collectors.toList());