使用默认值初始化列表中的映射键



我需要从列表中初始化映射的键,并为每个条目提供默认值。目前我使用for循环:

Map<String, String > myMap = new HashMap<>();
List<String> keys = Arrays.asList("a", "b", "c", "d");
for (String key : keys){
myMap.put(key, "default");
}

有更干净的方法吗?可能是Stream还是lambda?

是的,您可以创建该List元素的Stream,并将它们收集到Map:

Map<String,String> map = keys.stream ()
.collect (Collectors.toMap (Function.identity (), 
k -> "default"));