具有“ id”作为属性和ID列表的对象的映射列表。可以说数据类型是整数

时间:2018-07-24 13:35:58

标签: java algorithm collections java-8 logic

让我说我有一个pojo对象

Obj--> {"id":1, "name":"demo"}

我有两个`ArrayList。 这些对象的一个​​列表,另一个整数列表。现在,什么是最好的编码方式,以便我可以将整数列表与对象列表进行映射。

我需要的是一个以id作为键的Map,并且所有具有相似ID的对象都作为该地图中的列表。

例如:

Obj1 with id 1
Obj2 with id 1
Obj3 with id 2
Obj4 with id 2

地图将具有

for key --> id:1  Value Obj1 and Obj2
for key --> id:2 Value Obj3 and Obj4

我该如何实现?

1 个答案:

答案 0 :(得分:0)

我不了解需要两个数组列表,可以按每个pojo的标识符分组以将它们收集到Map<Integer, List<Pojo>>中,其中每个标识符可以映射到具有相同标识符的许多pojo。

pojos.stream().collect(Collectors.groupingBy(Pojo::getId))