java List按照对象的属性进行分组

问题描述:

在java的开发过程中,我们往往也需要用对象进行分组进行处理

解决方案:

1.循环分组

代码如下(示例):

Map<String, List<UserInfo>> map = new HashMap();
List<UserInfo> newUsers= null;
for (UserInfo user: userList) {
    if (!map.containsKey(user.getCardId())) {
		newUsers = new ArrayList<>();
	} else {
		newUsers = map.get(user.getCardId());
	}
	newUsers.add(user);
	map.put(user.getCardId(), user);
}

2.Java 8 Stream

代码如下(示例):

Map<String,List<UserInfo>> map= userList.stream().collect(Collectors.groupingBy(UserInfo::getCardId));
posted on 2021-09-10 10:54  猫的树kireCat  阅读(691)  评论(0编辑  收藏  举报