Java中如何将指定Map的值作为键,从Map列表取值生成新Map集合
Java Map映射转换实现方案
你只需要在注释位置遍历参考Mapone的键值对完成映射替换即可,补充后的完整逻辑如下:
List<Map<String, String>> result= new ArrayList<>(); for(Map<String, String> eachMap: four){ Map<String, String> singleMapFromList= new HashMap<>(); // 核心转换逻辑 for (Map.Entry<String, String> oneEntry : one.entrySet()) { String newKey = oneEntry.getValue(); String targetValue = eachMap.get(oneEntry.getKey()); // 可选:添加非空判断,避免eachMap无对应key时存入null值 if (targetValue != null) { singleMapFromList.put(newKey, targetValue); } } result.add(singleMapFromList); }
逻辑说明
- 遍历基准Map
one的所有键值对,把one的value作为新生成Map的key - 以
one的key为索引,到List中当前遍历的eachMap里取出对应的值,作为新生成Map的value - 完成所有键值对的映射后存入结果集合即可
输出结果完全匹配你给出的预期:
{Doctor=MBBS, Engineer=Software Engineer} {Doctor=Ortho, Engineer=Aerospace Engineer}
内容的提问来源于stack exchange,提问作者Vishal Ekkaldevi
相关产品推荐
相关产品推荐

