日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java ConcurrentHashMap的使用示例

瀏覽:25日期:2022-08-13 14:02:21
構造方法

// 1.無參數構造方法new ConcurrentHashMap();// 2.指定初始容量new ConcurrentHashMap(initialCapacity)// 3.指定初始容量和加載因子new ConcurrentHashMap(initialCapacity,loadFactor)// 4.指定初始容量和加載因子與并發級別(并發更新線程數)new ConcurrentHashMap(initialCapacity, loadFactor, concurrencyLevel)// 5.創建與給定映射具有相同映射的新映射new ConcurrentHashMap(Map<? extends K, ? extends V> m)方法介紹

新增元素

// 1.添加元素,不允許nullmap.put(1,1);// 2.添加一個mapmap.putAll(map);// 3.添加元素, 鍵不存在映射關系才添加成功map.putIfAbsent(2,1);

刪除元素

// 1.移除指定的keymap.remove(1);// 2.移除指定的key,value map.remove(2,2);

替換元素

// 1.替換指定keymap.replace(1,3);// 2.替換指定key,valuemap.replace(1,2,4);// 3.替換所有,這里是把value都乘以2map.replaceAll((key,value)->value << 1);

查找元素

// 1.返回到指定鍵所映射的值map.get('精靈王');// 2. 返回指定鍵映射到的值,如果此映射不包含該鍵的映射,則返回給定的默認值。map.getOrDefault('精靈王','jinglingwang.cn');// 指定搜素函數// 1.通過在每個(鍵,值)上應用給定的搜索函數返回非空結果,如果沒有則返回null。 // 成功后,進一步的元素處理被抑制,并且搜索功能的任何其他并行調用的結果被忽略。Object a = map.search(5,(key,value)->{ return (value & 1) == 0 ? value : null; // 查找第一個偶數,如果是奇數返回null});// 2. 每個鍵上應用給定搜索函數的非null結果,如果沒有則返回null。String k = map.searchKeys(5,(key)->{ return 'jinglingwang'.equals(key) ? key : null;});System.out.println(k);// 3. 對每個值應用給定的搜索函數,如果沒有,返回null。Integer v2 = map.searchValues(5,(value)->{ return value == 2 ? 520 : null;});System.out.println(v2);// 4.從每個entry應用給定的搜索函數,如果沒有,則返回null。Integer a = map.searchEntries(5,(entry)->{ System.out.println('entry:'+entry.getKey() + ' ' + entry.getValue()); return 'jinglingwang.cn'.equals(entry.getKey()) ? 1 : null;});System.out.println(a);

包含

// 1. 驗證值是否存在, 等同于map.containsValue()方法map.contains(4)// 2. 驗證key是否存在map.containsKey('精靈王')// 3. 驗證值是否存在,等同于map.contains()方法map.containsValue(4)

遍歷

// 1.返回此表中鍵的枚舉map.keys();// 2.返回此地圖中包含的鍵的Set視圖map.keySet();// 3.返回此地圖中鍵的Set視圖,使用給定的映射值map.keySet(100)// 4. 返回此表中值的枚舉。map.elements();// 5.返回此地圖中包含的映射的Set視圖。map.entrySet().forEach((entry)->{ System.out.println(entry.getKey() + ' ' + entry.getValue());});// 6.1 同時遍歷key,valuemap.forEach((key,value)->{ System.out.println(key+ ' ' + value);});// 6.2 同時遍歷key,value,找到滿足條件的執行響應函數map.forEach(5,(key,value)->{ System.out.println(key+ ' ' + value); return (value & 1) == 0 ? 'jinglingwang.cn' : null;},aa->{ System.out.println(aa); // 條件中有偶數,每次就輸出jinglingwang.cn});// 7.1遍歷map.forEachEntry(5,(entry)->{ System.out.println(entry.getKey() + ' ' + entry.getValue());});// 7.2遍歷查找,滿足條件執行響應的函數map.forEachEntry(5,(entry)->{ System.out.println(entry.getKey() + ' ' + entry.getValue()); return (value & 1) == 0 ? 'jinglingwang.cn' : null;},aa->{ System.out.println(aa); // 條件中有偶數,每次就輸出jinglingwang.cn});// 8.1遍歷keymap.forEachKey(5,key->{ System.out.println('key: ' + key);});// 8.2遍歷key,滿足條件的key執行響應的函數map.forEachKey(5,key->{ System.out.println('key: ' + key); return !key.equals('jinglingwang') ? 'jinglingwang.cn' : null;},kk ->{ System.out.println(kk);});// 9.1 遍歷valuemap.forEachValue(5,value->{ System.out.println('value: ' + value);});// 9.2 遍歷value,滿足條件的value執行響應的函數map.forEachValue(5,value->{ System.out.println('value: ' + value); return (value & 1) == 0 ? 'jinglingwang.cn' : null;},vv ->{ System.out.println(vv);});reduce歸約

reduce()

//新增元素map.put('1',0);map.put('2',4);map.put('3',6);map.put('4',8);// 1. 返回使用給定的reducer組合值來累積所有(鍵,值)對的給定轉換的結果,如果沒有,則返回nullString res = map.reduce(5,(key,value)->{ System.out.println('transformer key:'+key+' value:'+value); return value+'';},(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return key+value+'';});System.out.println('res:'+res);

以上示例輸出如下:

transformer key:1 value:0transformer key:2 value:4reducer key:0 value:4transformer key:3 value:6reducer key:04 value:6transformer key:4 value:8reducer key:046 value:8res:0468

第一個transformer函數遍歷整個map,然后將返回值傳遞到reduce函數進行計算,之后reduce函數的返回值再次參與到下一次的reduce函數的計算中。

reduceToDouble()

double reduceToDouble = map.reduceToDouble(5,(key,value)->{ System.out.println('transformer key:'+key); return value;},100,(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return key+value;});System.out.println('reduceToDouble:'+reduceToDouble);// 輸出結果transformer key:1 value:0reducer key:100.0 value:0.0transformer key:2 value:4reducer key:100.0 value:4.0transformer key:3 value:6reducer key:104.0 value:6.0transformer key:4 value:8reducer key:110.0 value:8.0reduceToDouble:118.0

遍歷歸約所有的鍵值對,并把結果轉換成double類型。

類似的方法還有reduceToInt()和reduceToLong()。

reduceEntries()

// 第一種,返回值為entryMap.Entry reduceEntries = map.reduceEntries(5,entry->{ System.out.println('transformer key:'+entry.getKey()+' value:'+entry.getValue()); return entry;},(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return value;});System.out.println('reduceEntries:'+reduceEntries);// 輸出如下transformer key:1 value:0transformer key:2 value:4reducer key:1=0 value:2=4transformer key:3 value:6reducer key:2=4 value:3=6transformer key:4 value:8reducer key:3=6 value:4=8reduceEntries:4=8// 第二種String reduceEntries2 = map.reduceEntries(5,(entry)->{ System.out.println('transformer key:'+entry.getKey()+' value:'+entry.getValue()); return entry.getValue()+'';},(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return key+value+'';});System.out.println('reduceEntries2:'+reduceEntries2);transformer key:1 value:0transformer key:2 value:4reducer key:0 value:4transformer key:3 value:6reducer key:04 value:6transformer key:4 value:8reducer key:046 value:8reduceEntries2:0468

transformer 函數每次返回的是一個entry,然后會傳入到reduce函數中,reduce的return值會繼續傳遞到下一次的reduce計算。

reduceEntriesToDouble()

// 返回使用給定的reducer累加給定變換的結果,以組合值,給定基礎作為一個標識值Double reduceEntriesToDouble = map.reduceEntriesToDouble(5,entry->{ System.out.println('transformer key:'+entry.getKey()+' value:'+entry.getValue()); return Double.valueOf(entry.getValue());},100,(l,r)->{ System.out.println('reducer key:'+l+' value:'+r); return l+r;});System.out.println('reduceEntriesToDouble:'+reduceEntriesToDouble);// 輸出結果transformer key:1 value:0reducer key:100.0 value:0.0transformer key:2 value:4reducer key:100.0 value:4.0transformer key:3 value:6reducer key:104.0 value:6.0transformer key:4 value:8reducer key:110.0 value:8.0reduceEntriesToDouble:118.0

其中transformer函數是以entry的形式來進行遍歷的,第三個參數是一個歸約的標識(初始默認值),功能和reduceEntriesToInt()和reduceEntriesToLong()兩個方法非常相似。

reduceKeys()

// 1.第一種,只有reduce函數,遍歷所有的鍵值對,reduce函數的返回值會作為下一次的key,如果沒有則返回null。String newKey = map.reduceKeys(5,(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return key+value;**}**);System.out.println('newKey:'+newKey);// 輸出結果reducer key:1 value:2reducer key:12 value:3reducer key:123 value:4newKey:1234// 2.第二種,有transformer和reducer String newValue = map.reduceKeys(5,(key)->{ System.out.println('transformer key:'+key); return key;},(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return key+value;});System.out.println('newValue:'+newValue);// 輸出結果transformer key:1transformer key:2reducer key:1 value:2transformer key:3reducer key:12 value:3transformer key:4reducer key:123 value:4newValue:1234

reduceKeysToDouble()

double reduceKeysToDouble = map.reduceKeysToDouble(5,(key)->{ System.out.println('transformer key:'+key); return Double.parseDouble(key);},100,(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return key+value;});System.out.println('reduceKeysToDouble:'+reduceKeysToDouble);

遍歷歸約所有的key,并把結果轉換成double類型。

類似的方法還有reduceKeysToInt()和reduceKeysToLong()。

reduceValues()

// 第一種:僅reducer函數double reduceValues = map.reduceValues(5,(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return key+value;});System.out.println('reduceValues:'+reduceValues);//輸出結果reducer key:0 value:4reducer key:4 value:6reducer key:10 value:8reduceValues:18.0// 第二種,含有transformerdouble reduceValues2 = map.reduceValues(5,(value)->{ System.out.println('transformer value:'+value); return Double.valueOf(value);},(key,value)->{ System.out.println('reducer key:'+key+' value:'+value); return key+value;});System.out.println('reduceValues2:'+reduceValues2);// 輸出結果transformer value:0transformer value:4reducer key:0.0 value:4.0transformer value:6reducer key:4.0 value:6.0transformer value:8reducer key:10.0 value:8.0reduceValues2:18.0

reduceValuesToDouble()

double reduceValuesToDouble = map.reduceValuesToDouble(5,(value)->{ System.out.println('transformer value:'+value); return Double.valueOf(value);},100,(l,r)->{ System.out.println('reducer key:'+l+' value:'+r); return l+r;});System.out.println('reduceValuesToDouble:'+reduceValuesToDouble);// 輸出結果transformer value:0reducer key:100.0 value:0.0transformer value:4reducer key:100.0 value:4.0transformer value:6reducer key:104.0 value:6.0transformer value:8reducer key:110.0 value:8.0reduceValuesToDouble:118.0

遍歷歸約所有的value,并把結果轉換成double類型。

類似的方法還有reduceValuesToInt()和reduceValuesToLong()。

以上就是Java ConcurrentHashMap的使用示例的詳細內容,更多關于Java ConcurrentHashMap的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美视频一区| 亚洲aa在线| 国产精选久久| 欧美日韩一区二区三区不卡视频 | 亚洲精品精选| 综合激情婷婷| 欧美日韩午夜电影网| 国产精品视频一区二区三区四蜜臂| 欧美日韩一区二区三区不卡视频| 久久国产麻豆精品| 国产精品蜜月aⅴ在线| 久久不卡国产精品一区二区| 精品资源在线| www.九色在线| 人人精品亚洲| 99成人在线| 热久久免费视频| 日韩一区二区三区免费视频| 欧美专区一区| 久久99影视| av在线最新| 亚洲欧洲一区| 日韩中文字幕无砖| 国产极品一区| 青青久久av| 日韩精品一二三四| 国产精品大片免费观看| 成人在线免费观看网站| 日韩毛片在线| 免费观看在线综合| 国产精品极品在线观看| 久久精品系列| 1024精品一区二区三区| 亚洲乱亚洲高清| 国产精品天堂蜜av在线播放| 亚洲涩涩在线| 日韩在线观看一区二区| 91精品丝袜国产高跟在线| 精品国产91| 日韩午夜免费| 久久香蕉精品香蕉| 欧美一区二区三区高清视频| 四虎国产精品免费久久| 麻豆高清免费国产一区| 亚洲v在线看| 偷拍亚洲精品| 欧美丰满日韩| 另类av一区二区| 国产精品极品国产中出| 蜜桃成人av| 国产精品综合| 久久国产电影| 91九色综合| 欧美一级精品| 国产精品mm| 免费日韩一区二区| 国产精品亚洲成在人线| 久久久久午夜电影| 日韩在线麻豆| 精品日韩视频| 奇米狠狠一区二区三区| 国产麻豆久久| 欧美一区久久| 亚洲激情二区| 国产一区福利| 亚洲乱码一区| 国产综合激情| 国产精品探花在线观看| 久久99伊人| 中国字幕a在线看韩国电影| 日欧美一区二区| 久久麻豆精品| 美女在线视频一区| 亚洲三级国产| 欧美成人综合| 成人午夜网址| 日韩一二三区在线观看| 亚洲香蕉网站| 精品视频网站| 日韩av在线免费观看不卡| 欧美va天堂在线| 精品久久久久中文字幕小说| 色综合视频一区二区三区日韩| 亚洲高清成人| 国产aⅴ精品一区二区三区久久| 日韩一区精品| 爽爽淫人综合网网站| 久久精品青草| 电影91久久久| 久久国产精品免费精品3p| 亚洲一区二区三区久久久| 亚洲1234区| 国产欧美自拍| 亚洲另类黄色| 国产精品日韩| 91精品综合| 精品国产三区在线| 91精品在线免费视频| 老牛影视一区二区三区| 成人免费电影网址| 高清日韩中文字幕| 国产精品网址| 视频在线在亚洲| 在线日韩视频| 亚洲成av人片一区二区密柚| 精品三区视频| 欧美日韩亚洲一区在线观看| 天堂成人免费av电影一区| 国产综合精品一区| 日韩欧美一区二区三区免费观看| 久久精品国产成人一区二区三区| 欧美日韩18| 91精品国产自产观看在线| 亚洲欧美在线专区| 一本一道久久a久久| 午夜一级久久| 日韩视频一区| 黑丝一区二区三区| 自拍日韩欧美| 欧美特黄一区| 美女91精品| 性色一区二区| 欧美 日韩 国产精品免费观看| 欧洲亚洲一区二区三区| 久久精品国语| 国产一区视频在线观看免费| 免费在线视频一区| 亚洲一区中文| 欧美日韩高清| 欧美特黄一级| 伊人www22综合色| 日韩综合一区二区三区| 日韩精品欧美精品| 欧美日韩精品一区二区三区在线观看| 少妇精品久久久一区二区| 亚洲aa在线| 国产精品久久亚洲不卡| 欧美亚洲国产日韩| 美女精品视频在线| 国产拍在线视频| 色婷婷久久久| 久久久亚洲一区| 亚洲天堂久久| 日韩视频一区| 四虎国产精品免费久久| 日本午夜精品视频在线观看| 国产欧美综合一区二区三区| 麻豆久久久久久久| 精品欠久久久中文字幕加勒比| av资源中文在线| 亚州av乱码久久精品蜜桃| 视频一区二区不卡| 亚洲精品女人| 麻豆精品av| 在线日韩av| 日韩高清不卡一区| 精品国产成人| 蜜臀av免费一区二区三区| 天堂久久av| 国产一区二区三区四区二区 | 国产亚洲人成a在线v网站| 免费在线欧美黄色| 久久在线免费| 日本不卡一二三区黄网| 国产亚洲字幕| 天堂中文av在线资源库| 国产美女精品| 久久99影视| 午夜精品亚洲| 国产精品入口久久| 国产91一区| 91综合久久爱com| 亚洲综合在线电影| 蜜桃一区二区三区在线| 麻豆国产欧美一区二区三区 | 伊人影院久久| 国产精品v一区二区三区| 不卡中文字幕| 国产亚洲一区二区三区啪| 久久久精品五月天| 婷婷亚洲精品| 久久久久久久久丰满| 日日夜夜免费精品视频| av日韩中文| 亚洲精品中文字幕99999| 日韩av二区| 一区二区三区四区在线观看国产日韩| 久久精品亚洲一区二区| 尤物网精品视频| 精品国产亚洲一区二区在线观看| 欧美日韩视频| 国产a久久精品一区二区三区| 亚洲有吗中文字幕| 日本高清不卡一区二区三区视频 | 婷婷成人av| 久久久精品五月天| 国产精品mv在线观看| 亚洲少妇一区| 成人午夜亚洲| 欧美日韩视频免费看|