如何在 Java 中将自定义对象列表重新组合到地图中?

妮可

我有以下对象列表

class Account {
    int id;
    String type;
    int balance;
    Customer customer;

    // getters setters
}

class Customer {
    int customerID;
}
List<Account> accounts = new ArrayList<>();
accounts.add(new Account(1, "abc", 17998210, new Customer(190)));
accounts.add(new Account(2, "hsj", 6786179, new Customer(190)));
accounts.add(new Account(4, "ioip", 246179, new Customer(191)));
accounts.add(new Account(4, "ewrew", 90179, new Customer(191)));

我想将上面的转移到 Map 并且键应该是 customerID 并且值应该是 Account 列表

Map<Integer, List<Account>>

Key            Value
190 -> Account(1, "abc", 17998210, 190)
       Account(2, "hsj", 6786179, 190)
191 -> Account(4, "ioip", 246179, 191)
       Account(4, "ewrew", 90179, 191)

如何实现这一目标?

无懈可击

您可以使用Collectors.groupingBy.

Map<Integer, List<Account>> map =
    accounts.stream().collect(Collectors.groupingBy(Account::getCustomerID));

Demo

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将自定义对象列表传输到 Java 中的地图?

如何在Java中将自定义颜色添加到数组中?

如何在Java中将自定义类的ArrayList转换为JsonArray?

如何将自定义嵌套列表xml转换为相应的Java对象

Java的地图 - 如何获取自定义对象的列表作为一个单独的列表

如何在Java中将字符串值转换为自定义模型对象?

如何在DynamoDB中将新的键值对放入地图中?(java)

如何在QAbstractListModel中将自定义对象定义为角色?

如何在Java 8中将流的结果收集到自定义对象的数组中

如何在webflux中将spring boot websocket文本消息转换为自定义java对象(bean或DTO)

如何在Google地图中创建自定义地图?

如何在Cloud Foundry中将自定义C共享库与Java应用程序捆绑在一起?

如何使用toDF()将自定义Java类对象的RDD转换为DataFrame?

如何使用Java将自定义字段添加到Salesforce中的现有对象

如何在Python中将自定义类对象转换为元组?

如何在 C# 中将自定义对象序列化为 Json

如何在React中将自定义属性插入File对象

如何在java中将地图转换为实体对象?

如何在 Javascript 中重新组合对象?

如何在Swift中归档和取消归档自定义对象?或者如何在Swift中将自定义对象保存到NSUserDefaults?

如何在Java中将JFileChooser按钮的处理程序附加到自定义JFrame中

如何在Java中创建大型自定义光标?

如何在Java中绘制自定义的圆角矩形?

如何在Java中实现自定义日期格式?

如何在Java中制作这种自定义算法?

如何在Java中创建自定义JsonDeserializer?

如何在Java中使用自定义类型注释

如何在Java中自定义数字舍入?

如何在Java中使用自定义字体?