欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

关于HashMap相同key累加value的问题

时间:2022-09-22 10:41:21|栏目:JAVA代码|点击:

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

得到的结果是{k=3}。

scala语言结果同上。

而脚本语言perl可以直接累加,脚本如下

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

得到的结果是

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

HashMap解决key值相同问题

某些场景需要一个key值下面对应多个值,但是map的一个key值只对应一个value值,由于hashmap相同的key值,第二个put进去会覆盖第一个的值

为了解决这一问题:所以用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里面。思路大概是这样的。

上一篇:JPA like 模糊查询 语法格式解析

栏    目:JAVA代码

下一篇:使用JavaBean根据指定条件设置属性值默认值方式

本文标题:关于HashMap相同key累加value的问题

本文地址:http://www.codeinn.net/misctech/214401.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有