【发布时间】:2017-04-21 12:29:25
【问题描述】:
我有两个包含字典数组的对象。 Array 中HashMap 的每个条目将包含大约 40-50 个字段。对象 2 HashMap 可能包含不同的键,但两个对象之间会有一个通用键。
object1 = ArrayList<HashMap<String, Object>>
object2 = ArrayList<HashMap<String, Object>>
Object1 HashMap 的字段很少
字段1、字段2、字段3、字段4...
Object2 HashMap 的字段很少
字段4,字段5,字段6,字段7..
我想加入公共字段 4 上的两个对象,结果数组应该包含所有字段 1 到 7
输出应该和sql查询一样。
Select * from object1, Object2 where object1.field4 = object2.field4
如果 object1 有 3 行,而 Object2 有 5 行,则如果所有键都匹配,则输出列表将有 15 行。匹配的 field4 在两个对象中都不是唯一的。
【问题讨论】:
-
这不是代码编写服务。到目前为止你尝试了什么?发布您的代码!运行时发生了什么?你期望会发生什么?你具体有什么问题? stackoverflow.com/help/mcve
-
使用 Java 8 lambdas,首先用 flatMap 制作笛卡尔积,将两个 hashmap 合并为一个,然后过滤结果。
标签: java database join arraylist hashmap