关于HashMap相同key累加value的问题(hashmap put key相同)

网友投稿 468 2022-08-08


关于HashMap相同key累加value的问题(hashmap put key相同)

目录HashMap相同key累加valueHashMap解决key值相同问题

HashMap相同key累加value

import java.util.HashMap;

import java.util.Map;

public class Test {

public static void main(String[] args) {

Map map = new HashMap();

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值相同问题

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

为了解决这一问题:所以用list存

如下:

List>> hashList = new ArrayList<>();

Iterator>> iterator = recommendationHashMap.entrySet().iterator();

Map.Entry> entry;

while (iterator.hasNext()) {

entry = iterator.next();

// 往newMap中放入新的Entry

HashMap> newMap = new LinkedHashMap<>();

newMap.put(entry.getKey().split(",")[0], entry.getValue());

hashList.add(newMap);

}

每次new一个新的map,add到map的list里面。思路大概是这样的。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot使用AOP统一日志管理的方法详解(aop实现日志管理)
下一篇:Java如何在Map中存放重复key(java map顺序存放)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~