/**
mergeFunction 如果多個map的key一樣怎么處理value數據
maps 需要合并的map 可以是多個
*/
public static <K, E, V extends Collection<E>> Map<K, V> mergeMap(BinaryOperator<V> mergeFunction, Map<K, V> ...maps) {
return Stream.of(maps)
.flatMap(map -> map.entrySet()
.stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, mergeFunction));
}
/**
maps需要合并的map; key是long型數據 value是Set類型數據。如果key重復那么value合并(set的合集)
*/
public static <V> Map<Long, Set<V>> mergeMapValueSetAdd(Map<Long, Set<V>>... maps) {
return mergeMap((v1, v2) -> {
v1.addAll(v2);
return v1;
}, maps);
}
合并兩個Map
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 實現方式是通過 putAll() 方法將多個 map 對象中的數據放到另外一個全新的 map 對象中,代碼如下所示...
- java stream處理list根據多個字段判斷重復 List去重復 ,我們首先想到的可能是 利用List轉S...
- function mergeMap(obj, src) { for (let [k, v]...
- 題目描述 兩個升序鏈表合并為一個新的升序鏈表。 示例:輸入:1->2->4, 1->3->4輸出:1->1->2-...