的问题是你有一个李st地图。下面的代码应工作:
Map<String, String> result = new HashMap<>();
steps.stream().forEach(map -> {
result.putAll(map.entrySet().stream()
.collect(Collectors.toMap(entry -> entry.getKey(), entry -> (String) entry.getValue())));
});
如果我们尝试运行这个例子
Map<String, Object> steps1 = new HashMap<>();
steps1.put("key11", "value11");
steps1.put("key12", "value12");
Map<String, Object> steps2 = new HashMap<>();
steps2.put("key21", "value21");
steps2.put("key22", "value22");
List<Map<String, Object>> steps = new ArrayList<>();
steps.add(steps1);
steps.add(steps2);
Map<String, String> result = new HashMap<>();
steps.stream().forEach(map -> {
result.putAll(map.entrySet().stream()
.collect(Collectors.toMap(entry -> entry.getKey(), entry -> (String) entry.getValue())));
});
System.out.println(result);
它高兴地给了我们这样的输出:
{key12=value12, key11=value11, key22=value22, key21=value21}
可惜这不是去上班。 你忘记它的地图列表, 它会导致显示java.lang.NullPointerException 试图使用你确切的代码 – Lenar
它为我 – user489872
s.get的演员(“密钥”)是没有必要的 – user489872