如何将两个列表合并/更新<Map>为一个



我有两个列表:

List<Map<String, String>> data1 = new ArrayList<>();
Map<String, String> m1 = new HashMap(){};
m1.put("key1","value1")
Map<String, String> m2 = new HashMap(){};
m2.put("key2","value2")
data1.add(m1)
data1.add(m2)
List<Map<String, String>> data2 = new ArrayList<>();
Map<String, String> m22 = new HashMap(){};
m22.put("key2","chavgedValues2")
data2.add(m1)
data2.add(m22)

合并后,我想有一个列表,将包含:

"key1","value1"
"key2","chavgedValues2" 

将这两个列表合并为一个列表的最佳方法是什么?就像我可以实现迭代器一样,但我认为应该有一个更简单的选项,比如流。此外,还应该有一个条件,即如果data1中的Entry.Key等于data2中的Entry.Key,则只从数据2中获取映射。类似SQL joiner的东西。

data1.addAll(data2);

这是最简单的方法,但如果两个或多个映射中存在相同的Key,则不能进行条件检查。

所以我会用迭代器和循环手动完成。我看不出流函数会让它变得更容易。

相关内容

最新更新