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

2021-09-10  本文已影响0人  猫的树

问题描述:

在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));
上一篇下一篇

猜你喜欢

热点阅读