2017-04-19 13 views
0

私はこのプロジェクトにjava 7を使用しています。タイプList<Map<String, Object>>のリストを持っています。マップのリストを1つのマップにマージしたいので、出力はMap<String, Object>です。元のリストのエントリは、..あなたは、単にマップを反復処理することによってこれを行うと、新しいマップに自分のすべてのマッピングをコピーする方法を作成できるJava 7やグアバjava 7 - guava - マップへのマップのマップ

+1

実装に特に問題はありますか?単純なfor-eachループと新しいマップへのすべてのエントリの入れ方はうまくいくはずだが、Java 7ではより洗練されたソリューションはないと思う。 – Xaerxess

答えて

0

のような他のライブラリを使用して、それが可能です:

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); 
関連する問題