我是靠谱客的博主 聪明泥猴桃,最近开发中收集的这篇文章主要介绍list().stream().collect()list().stream().collect(Collectors.groupingby(Entity::getFild))的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
list().stream().collect(Collectors.groupingby(Entity::getFild))的用法
@Test
void contextLoads1() {
User user0 = new User();
user0.setId(0);
user0.setNickname("name0");
user0.setUsername("username0");
user0.setCategory("学生");
User user1 = new User();
user1.setId(1);
user1.setNickname("name1");
user1.setUsername("username1");
user1.setCategory("老师");
User user2 = new User();
user2.setId(2);
user2.setNickname("name2");
user2.setUsername("username2");
user2.setCategory("教学主任");
List<User> userList = new ArrayList<>();
userList.add(user0);
userList.add(user1);
userList.add(user2);
//跟据某个属性分组
Map<String, List<User>> userMap = userList.stream().collect(Collectors.groupingBy(User::getCategory));
System.out.println(userMap);
// 查询结果
// {学生=[User{id=0, nickname=name0, username=username0}],
// 老师=[User{id=1, nickname=name1,username=username1}],
// 教学主任=[User{id=2, nickname=name2,username=username2}]}
//根据某个属性分组,汇总某个属性
Map<String, Integer> collect2 = userList.stream().collect(Collectors.groupingBy(User::getCategory,Collectors.summingInt(User::getId)));
System.out.println(collect2);
// 查询结果 // {学生=0, 老师=1, 教学主任=2}
//根据某个属性添加条件过滤数据
userList = userList.stream().filter(u -> !u.getNickname().equals("name0")).collect(Collectors.toList());
System.out.println(userList);
// 查询结果
// [User{id=1, nickname=name1,username=username1},
// User{id=2, nickname=name2, username=username2}]
//判断一组对象里面有没有这个属性值
boolean add = userList.stream().anyMatch(m -> "name2".equals(m.getNickname()));
System.out.println(add);
//取出一组对象的某个属性组成一个新集合
List<String> Username=userList.stream().map(User::getUsername).collect(Collectors.toList());
System.out.println(Username);
// 查询结果 // [username0, username1, username2]
最后
以上就是聪明泥猴桃为你收集整理的list().stream().collect()list().stream().collect(Collectors.groupingby(Entity::getFild))的用法的全部内容,希望文章能够帮你解决list().stream().collect()list().stream().collect(Collectors.groupingby(Entity::getFild))的用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复