首页 > 解决方案 > 使用提供的一组键和默认值创建 Map

问题描述

我有一个方法可以接收List<String> keys并对其进行一些计算,最后它返回Map<String, String>具有来自该列表的键和计算或不计算的值。如果无法计算值,我希望String该键为空。

最清晰的方法是在计算开始时创建包含所有具有默认值(在这种情况下为空字符串)的键的 Map,然后替换计算值。

最好的方法是什么?我认为 Collections API 中没有适当的初始化程序。

标签: java

解决方案


我建议你使用 Stream APICollectors.toMap()方法。有一种方法:

private static void build(List<String> keys) {
    Map<String, String> defaultValues = keys.stream().collect(
            Collectors.toMap(key -> key, key -> "default value")
    );

    // further computations
}

推荐阅读