【问题标题】:java 7 - guava - merge list of maps into mapjava 7 - guava - 将地图列表合并到地图中
【发布时间】:2017-04-19 01:46:53
【问题描述】:

我在这个项目中使用 java 7,并且我有 List<Map<String, Object>> 类型的列表,我想将地图列表合并到单个地图中,所以输出是 Map<String, Object> 与原始列表的所有条目..是否可以使用 java 7 或其他库,如 guava

【问题讨论】:

  • 您对实施有什么特别的问题吗?简单的 for-each 循环并将所有条目放入新地图应该可以工作,我认为 Java 7 上没有更优雅的解决方案。

标签: arrays data-structures hashmap guava java-7


【解决方案1】:

您可以通过简单地迭代地图并将其所有映射复制到新地图中来创建一个方法:

public static <K, V> Map<K, V> merge(Iterable<? extends Map<K, V>> maps) {
    Map<K, V> result = new HashMap<>();
    for (Map<K, V> map : maps) {
        result.putAll(map);
    }
    return result;
}

用法:

Map<String, Object> mergedMap = merge(maps);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2020-10-19
    • 2017-12-23
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多