【问题标题】:Inititialize Map keys from list with a default value使用默认值从列表中初始化 Map 键
【发布时间】:2022-01-14 05:09:57
【问题描述】:

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

【问题讨论】:

    标签: java lambda hashmap java-stream


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-05-31
      • 2014-05-06
      • 2017-11-22
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      • 2012-12-16
      • 2017-12-18
      相关资源
      最近更新 更多