Java 具有“的对象的映射列表”;id";作为具有ID列表的属性。假设数据类型是整数
假设我有一个pojo对象Java 具有“的对象的映射列表”;id";作为具有ID列表的属性。假设数据类型是整数,java,algorithm,collections,java-8,logic,Java,Algorithm,Collections,Java 8,Logic,假设我有一个pojo对象 Obj--> {"id":1, "name":"demo"} 我有两张ArrayList。 一个是这些对象的列表,另一个是整数的列表。现在,最好的编码方式是什么,这样我就可以将整数列表映射到对象列表 我需要的是一个有id作为键的映射,以及所有那些具有类似id的对象作为该映射中的列表 例如: Obj1 with id 1 Obj2 with id 1 Obj3 with id 2 Obj4 with id 2 地图上会有 for key --> id:1
Obj--> {"id":1, "name":"demo"}
我有两张ArrayList。
一个是这些对象的列表,另一个是整数的列表。现在,最好的编码方式是什么,这样我就可以将整数列表映射到对象列表
我需要的是一个有id
作为键的映射,以及所有那些具有类似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
如何实现这一点?我不理解需要两个数组列表,您可以根据每个pojo的标识符进行分组,将它们收集到一个
映射中,其中每个标识符可以映射到具有相同标识符的多个pojo
pojos.stream().collect(Collectors.groupingBy(Pojo::getId))
查看Collectors.groupingBy
。这已经被回答了很多次了。这看起来像一个地图
,我建议使用番石榴多地图
。收集器。gropingBy()
?