国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Stream兩個Map的value值進行相加/相減,并將合并數(shù)據(jù)集賦值給新Map

這篇具有很好參考價值的文章主要介紹了Stream兩個Map的value值進行相加/相減,并將合并數(shù)據(jù)集賦值給新Map。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

兩個Map對應的value值進行加減操作

最近做項目遇到,需要把兩個Map中的value值進行相加或相減,循環(huán)遍歷方法太麻煩,有時候數(shù)據(jù)量大的時候,還會超時。因此使用java8中Stream的Merge方法來處理上述問題,使用如下:

map1.forEach((key,value)->map4.merge(key,value,(v1,v2)->v1+v2));
map3.forEach((key,value)->map5.merge(key,value,(v1,v2)->v2-v1));

實例演示

public static void main(String[] args) {
        Map<String,Integer> map1 = new HashMap<>();
        map1.put("1",1);
        map1.put("2",2);
        map1.put("3",3);
        map1.put("4",4);
        Map<String,Integer> map2 = new HashMap<>();
        map2.put("1",1);
        map2.put("2",2);
        map2.put("3",3);
        map2.put("5",5);
        Map<String,Integer> map3 = new HashMap<>();
        map3.put("1",2);
        map3.put("2",4);
        map3.put("3",6);
        map3.put("5",8);
        //以map2為基準,存放相加value值的數(shù)據(jù)集
        Map<String, Integer> map4 = new HashMap<>(map2);
        //以map1為基準,存放相減value值的數(shù)據(jù)集
        Map<String, Integer> map5 = new HashMap<>(map1);
        map1.forEach((key,value)->map4.merge(key,value,(v1,v2)->v1+v2));
        System.out.println("原始數(shù)據(jù)集1: "+map1);
        System.out.println("原始數(shù)據(jù)集2: "+map2);
        System.out.println("原始數(shù)據(jù)集3: "+map3);
        System.out.println("存放相加value值的數(shù)據(jù)集Map: "+map4);

        map3.forEach((key,value)->map5.merge(key,value,(v1,v2)->v2-v1));
        System.out.println("原始數(shù)據(jù)集1: "+map1);
        System.out.println("原始數(shù)據(jù)集2: "+map2);
        System.out.println("原始數(shù)據(jù)集3: "+map3);
        System.out.println("存放相加value值的數(shù)據(jù)集Map: "+map5);
    }

結果截圖:
java中map的value相加,java 8 新特性,java,jvm,算法
從結果圖中可以看出,兩個map進行相加或者相減是可以看出,key值相同的進行value值進行相加減,key值不同的進行追加。文章來源地址http://www.zghlxwxcb.cn/news/detail-629159.html

到了這里,關于Stream兩個Map的value值進行相加/相減,并將合并數(shù)據(jù)集賦值給新Map的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • java 合并兩個Map

    在開發(fā)中,有時需要將多個Map合并成一個Map,接下來就舉例說明: 我的使用場景:以map2中已經(jīng)存在的key的值為準 把需要的字段從一個Map中一個個set到另一個Map中 輸出結果為: 這個結果不是我想要的! putAll() 方法 輸出結果為: 這個結果不是我想要的! 通過java8的方式 輸出

    2024年02月11日
    瀏覽(85)
  • Java中,合并兩個Map

    在Java中,合并兩個Map可以使用putAll()方法,但是默認情況下,如果被合并的Map中有null值,它們會被丟棄。 如果想要保留null值,可以使用下面的代碼: 這里將兩個Map合并成一個新的Map,如果被合并的Map中的value有null,會被保留在新的Map中。 示例: 輸出結果中,被合并的Map中

    2024年02月11日
    瀏覽(80)
  • JAVA8新特性stream流收集為Map,value為null導致空指針的問題

    JAVA8新特性stream流收集為Map,value為null導致空指針的問題

    jdk8 新特性stream深受喜愛,平時使用比較多,其中有: MapString, String collect2 =? list.stream().collect(Collectors.toMap(Book::getName,?Book::getIdNO,(pre, after) - pre)); ?現(xiàn)象如下: 問題:JDK8環(huán)境下,如果Book::getIdNo 為null的話會報空指針,即JDK8環(huán)境下的,該接口不支持value為null(key為null沒這個問

    2024年02月06日
    瀏覽(94)
  • Stream流 - 兩個list集合對象屬性的合并、對象屬性值運算

    Stream流 - 兩個list集合對象屬性的合并、對象屬性值運算

    ?? 合并兩個 list<map>, 并將 userId 相同的所有屬性合并到一個 map 中 list1中對象的屬性:userId、userName list2中對象的屬性:userId、gender、age ?? 最終總集合中對象的屬性:userId、userName、gender、age 運行結果: 結果可見,userId 相同的所有屬性合并到集合 list1中。 ?? 合并兩個

    2024年02月06日
    瀏覽(307)
  • <List<Map<String,Object>>>循環(huán)List Map獲取里面的key和value,進行操作

    輸出: Map循環(huán):(Value為Object)

    2024年02月12日
    瀏覽(92)
  • Java對List<Map>進行合并去重

    對List 進行合并去重,首先創(chuàng)建一個新的 List 用于存儲合并去重后的結果,遍歷原始的 List ,將每個 Map 對象中的鍵值對放入一個 Set 中進行去重,最后將去重后的鍵值對重新組裝成一個新的 Map 對象,并添加到新的 List 中。 完整實例代碼如下: 簡單示例僅供參考

    2024年02月05日
    瀏覽(229)
  • excel中如果A列中某項有多條記錄,針對A列中相同的項,將B列值進行相加合并統(tǒng)計

    excel中如果A列中某項有多條記錄,針對A列中相同的項,將B列值進行相加合并統(tǒng)計

    excel中如果A列中某項有多條記錄,針對A列中相同的項,將B列值進行相加合并統(tǒng)計。注意:B列的數(shù)據(jù)類型要為數(shù)字 如: 實現(xiàn)方法: C1、D1中分別輸入公式,然后下拉 效果如下:

    2024年02月11日
    瀏覽(89)
  • Git ① 通過git將本地兩個項目進行合并

    Git ① 通過git將本地兩個項目進行合并

    ① 新建一個文件夾,打開之后在命令行輸入 git init? 初始化倉庫。 ② 在新建的文件夾中隨便創(chuàng)建一個文件(這樣才能新建新的分支,不然新建分支命令沒有作用) ③ 輸入命令 git add .?? 和?? git commit -m \\\"init\\\" 初始化倉庫。 ① 輸入命令 git checkout -b sub 創(chuàng)建一個名叫sub的分支

    2024年02月14日
    瀏覽(84)
  • 數(shù)據(jù)結構中: 一元多項式的運算(相加,相減,相乘)------用C語言 / C++來實現(xiàn)。 數(shù)據(jù)結構線性表的操作和應用(順序存儲)

    數(shù)據(jù)結構中: 一元多項式的運算(相加,相減,相乘)------用C語言 / C++來實現(xiàn)。 數(shù)據(jù)結構線性表的操作和應用(順序存儲)

    線性表的操作和應用(順序存儲)。用順序存儲實現(xiàn)一元多項式,并進行加、減、乘運算。 (1)一元多項式結構體創(chuàng)建? (2)初始化 (3)一元多項式賦值? ? ? ? ? ? ?(4)打印一元多項式 (5)加法運算? ? ? ? ? ? ? ? ? ? ? ? (6)減法運算 (7)乘法運算 ? ?全部代

    2024年02月01日
    瀏覽(98)
  • Python 按照某列內(nèi)容對兩個DataFrame進行合并

    要將兩個DataFrame進行合并,如 data1 ?和? data2 按照第一列的內(nèi)容縱向合并為一個新的DataFrame,可以使用pandas庫中的merge()方法,按照實際需求將 how參數(shù)設置為 ‘left’、‘right’、‘outer’、‘inner’。其中: inner: 內(nèi)連接/交集。保留兩個 DataFrame 共有的鍵,丟棄不匹配的行。

    2024年02月15日
    瀏覽(90)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包