【发布时间】:2021-04-19 04:51:18
【问题描述】:
List A = [
MyClass(country=BE, userNumber=[12345], cityName = Brussels ),
(country= BE , userNumber=[12345], cityName = Bruges ),
(country= DE , userNumber=[54645], cityName = Frankfurt )
]
List B = [
MyClass(country=BE, userNumber=[34356], cityName = Brussels ),
(country= BE , userNumber=[64325], cityName = Namur )
]
我必须以这样的方式合并这两个列表,最终结果会像
Expected Final List = [
MyClass(country=BE, userNumber=[12345,34356], cityName = Brussels ),
(country= BE , userNumber=[12345], cityName = Bruges ),
(country= DE , userNumber=[54645], cityName = Frankfurt ),
(country= BE , userNumber=[64325], cityName = Namur )
]
尝试过的解决方案:
- 获取两个列表的城市名称,如果为 true,则列表 A 是否包含列表 B,然后在列表 B 上运行 for 循环并找到相同的城市名称并尝试将用户编号附加到列表 A。
上述解决方案工作了一半,不确定它的效率如何。请帮忙。
【问题讨论】:
-
是否有机会发布一些代码来显示您如何获得
List A和List B? -
List A 来自 DB,List B 是新创建的,将新的 userNumber 添加到 List A 和 DB 中。
-
覆盖 POJO 的 equals 方法,然后使用 ArrayList 的 contains 方法
标签: java arraylist java-8 java-stream array-merge