如何在Java中加入两个ArrayList
问题描述:
我有两个包含字典数组的对象。 Array中的每个条目HashMap
将有大约40-50个字段。对象2 HashMap
可能包含不同的键,但两个对象之间将有一个共同的键。如何在Java中加入两个ArrayList
object1 = ArrayList<HashMap<String, Object>>
object2 = ArrayList<HashMap<String, Object>>
Object1 HashMap
是有几场 字段1,字段2,字段3,字段4 ...
对象2 HashMap
是有几场 字段4,字段5,字段6,字段7 ..
我想加入共同field4上的对象和结果数组应该具有所有字段1到7
输出应该与sql查询相同。
Select * from object1, Object2 where object1.field4 = object2.field4
如果object1有3行,Object2有5行,那么如果所有的键匹配,输出列表将有15行。匹配的field4在两个对象中都不是唯一的。
答
你可以简单地这样做:
List<HashMap <String , Object >> listFinal =
new ArrayList<HashMap < String , Object >>();
listFinal.addAll(object1);
listFinal.addAll(object2);
这里我使用了addAll()
方法添加两个列表。
欲了解更多信息,你可以参考here。
这不是一个代码写作服务。你到目前为止尝试了什么?发布您的代码!当你运行它时发生了什么?你预期会发生什么?你有什么特别的问题? https://*.com/help/mcve – Robert
使用Java 8 lambda,首先使用flatMap将两个hashmaps合并为一个cartesian产品,然后过滤结果。 –