持续更新
1、Collectors.groupingBy
Collectors.groupingBy根据一个或多个属性对集合中的项目进行分组
public class ListToMapTest {
public static void main(String[] args) throws ParseException {
List<User> users = Arrays.asList(
new User("Jack",9),
new User("Kreas",10),
new User("Marry",13),
new User("Timi",14));
Map<Integer,List<User>> map=users.stream().collect(Collectors.groupingBy(User::getAge));
Map<String,List<User>> map1=users.stream().collect(Collectors.groupingBy(i->i.getAge()+"_"+"年龄"));
Map<String,List<User>> map2=users.stream().collect(Collectors.groupingBy(i->{
if(i.getAge()<10){
return "young";
}else{
return "old";
}
}));
System.out.println(map);
System.out.println(map1);
System.out.println(map2);
}
}
2、双冒号(::)
语法介绍
双冒号 :: 为引⽤运算符,⽽它所在的表达式被称为⽅法引⽤
举例
对象的引⽤ :: 实例⽅法名
//对象的引⽤ :: 实例⽅法名
Arrays.asList("a","b","c").forEach(s->System.out.println(s)); // a,b,c
Arrays.asList("a","b","c").forEach(System.out::println); // a,b,c
类名::方法名
LambdaQueryWrapper<BasicSpace> lqw = Wrappers.lambdaQuery();
lqw.eq(BasicSpace::getStoreName, storeName);