我有2个列表:
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。
答案 0 :(得分:0)
data1.addAll(data2);
这将是最简单的方法,但是您将无法有条件地检查两个或多个地图中是否存在相同的Key。
因此,我将使用迭代器和循环手动进行操作。我看不到流功能会使它变得更容易。