stream流——续 Stream流引入 Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库。 测试的实体实例 List listUser = new ArrayList();
Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库。
List<User> listUser = new ArrayList<>(); listUser.add(new User().setId(1).setName("张三").setAge(18)); listUser.add(new User().setId(2).setName("李四").setAge(25)); listUser.add(new User().setId(3).setName("王五").setAge(25)); listUser.add(new User().setId(3).setName("马六").setAge(31));
list.collect(Collectors.groupingBy(User::getAge));
list.collect(Collectors.groupingBy(User::getAge,Collectors.counting())));
list.collect(Collectors.groupingBy(User::getAge,Collectors.summarizingInt(User::getAge))));
list.collect(Collectors.groupingBy(User::getAge,Collectors.mapping(User::getName, Collectors.toSet())));
上述问题中,还可以延伸到在分组之前对数据进行filter过滤进处理无用数据,也可以在分组之后进行其他求值操作并不限于求和,以及统计。上述的方法能极大的提升代码的运行速度,例如:当你需要对一个list集合进行其他数据库查询处理的时候,可以一次性查询到list需要的所有数据,然后通过分组进行数据处理,就能极大的减少项目与数据库之间的通讯从而提高运行速度
来源地址:https://blog.csdn.net/weixin_48293596/article/details/128541003
--结束END--
本文标题: stream流——分组
本文链接: https://lsjlt.com/news/376531.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0