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

Inititialize Map keys from list with a default value

我需要从列表中初始化映射的键,并为每个条目指定一个默认值。 目前我使用 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?

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

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