搜索
您的当前位置:首页正文

Java8合并List(Map),为一个大Map

来源:步旅网
-----数据
[{gailun=盖伦},{zhaoxin=赵信},{ruiwen=瑞文}]

-----目标
{gailun=盖伦,zhaoxin=赵信,ruiwen=瑞文}

第一种

List<Map<String,Object>> lists=new ArrayList<>();
Map<String, Object> merged = new HashMap<>();
lists.forEach(merged::putAll);

第二种

// 不想覆盖,保留最初的值: 
List<Map<String,Object>> lists=new ArrayList<>();
lists.stream().flatMap(m -> m.entrySet().stream())
              .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a, b) -> a));
              
// 覆盖key相同的值:
List<Map<String,Object>> lists=new ArrayList<>();
lists.stream().flatMap(m -> m.entrySet().stream())
              .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (a, b) -> b)); 

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top