最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于HashMap相同key累加value的問題

 更新時間:2022年05月06日 09:51:42   作者:ample筆記  
這篇文章主要介紹了關(guān)于HashMap相同key累加value的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

HashMap相同key累加value

import java.util.HashMap;
import java.util.Map;
public class Test {
	public static void main(String[] args) {
		Map<String, Long> map = new HashMap<String, Long>();
		map.put("k", 1L);
		map.put("k", 2L);
		map.put("k", 3L);
		System.out.println(map);
	}
}

得到的結(jié)果是{k=3}。

scala語言結(jié)果同上。

而腳本語言perl可以直接累加,腳本如下

#!/usr/bin/perl
use strict;
use Data::Dumper;
my %map;
$map{"k"}+=1;
$map{"k"}+=2;
$map{"k"}+=3;
print Dumper(\%map);

得到的結(jié)果是

$VAR1 = {
‘k’ => 6
};

HashMap解決key值相同問題

某些場景需要一個key值下面對應(yīng)多個值,但是map的一個key值只對應(yīng)一個value值,由于hashmap相同的key值,第二個put進(jìn)去會覆蓋第一個的值

為了解決這一問題:所以用list存

如下:

List<Map<String, List<RecommendationListBO>>> hashList = new ArrayList<>();
Iterator<Map.Entry<String, List<RecommendationListBO>>> iterator = recommendationHashMap.entrySet().iterator();
Map.Entry<String, List<RecommendationListBO>> entry;
while (iterator.hasNext()) {
? ? entry = iterator.next();
? ? // 往newMap中放入新的Entry
? ? HashMap<String, List<RecommendationListBO>> newMap = new LinkedHashMap<>();
? ? newMap.put(entry.getKey().split(",")[0], entry.getValue());
? ? hashList.add(newMap);
}

每次new一個新的map,add到map的list里面。思路大概是這樣的。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

顺平县| 新邵县| 凤冈县| 石河子市| 营山县| 内丘县| 闵行区| 板桥市| 滨海县| 福州市| 襄汾县| 云和县| 吴桥县| 五莲县| 马边| 通许县| 丘北县| 景谷| 安化县| 大冶市| 宝应县| 静乐县| 南宫市| 揭阳市| 礼泉县| 含山县| 集安市| 台东市| 蒲城县| 佛山市| 湖南省| 静海县| 广南县| 苗栗县| 石台县| 兴山县| 南部县| 文山县| 海晏县| 新津县| 永善县|