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

网友投稿 1097 2022-10-08

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

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

目录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小时内删除侵权内容。

上一篇:Scala104-Spark.sql的内置日期时间函数
下一篇:详解微信小程序开发实现定位到当前城市代码(微信小程序定位是基于微信定位吗)
相关文章

 发表评论

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