2017-04-19 46 views
0

我在這個項目中使用java 7,我有List<Map<String, Object>>類型的列表,我想把它的地圖列表合併到單個地圖中,所以輸出結果爲Map<String, Object>原始列表條目..是否有可能使用Java 7或其他庫,例如番石榴java 7 - 番石榴 - 將地圖合併到地圖列表

+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);