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

作者:ample笔记 时间:2022-02-13 13:32:18 

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 = {
&lsquo;k&rsquo; => 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里面。思路大概是这样的。

来源:https://blog.csdn.net/qq_41240580/article/details/103366717

标签:HashMap,key,value
0
投稿

猜你喜欢

  • 零基础写Java知乎爬虫之获取知乎编辑推荐内容

    2023-11-29 04:33:39
  • MyBatis找不到mapper文件的实现

    2023-12-15 09:22:11
  • RxJava2.x实现定时器的实例代码

    2023-08-06 17:41:01
  • 详解Java中Duration类的使用方法

    2021-07-30 20:09:28
  • JAVA的反射机制你了解多少

    2023-11-29 16:46:38
  • Java中匿名类的两种实现方式

    2022-06-17 23:57:05
  • SpringBoot使用token简单鉴权的具体实现方法

    2022-07-10 14:23:42
  • Android实现本地图片选择及预览缩放效果

    2023-09-27 14:07:28
  • Java ThreadPoolExecutor 线程池的使用介绍

    2021-06-28 12:40:35
  • Spring源码完美导入IDEA的过程

    2023-05-13 14:11:50
  • Eclipse+Java+Swing实现学生成绩管理系统的实例代码

    2022-12-14 15:35:04
  • .Net Winform开发笔记(四)透过现象看本质

    2022-06-22 09:36:24
  • Java 8中Stream API的这些奇技淫巧!你Get了吗?

    2023-04-20 20:31:44
  • C#画笔使用复合数组绘制单个矩形的方法

    2022-03-20 01:41:09
  • Java实现读取文章中重复出现的中文字符串

    2022-04-27 04:29:05
  • Android使用Retrofit实现自定义Converter解析接口流程详解

    2022-12-30 23:19:38
  • 关于各种排列组合java算法实现方法

    2023-11-15 05:46:55
  • 通过Java实现文件断点续传功能

    2022-06-22 16:30:42
  • 关于eclipse安装spring插件报错An error occurred while collecting items to be installed...解决方案

    2023-05-27 03:34:45
  • java 使用foreach遍历集合元素的实例

    2022-11-17 09:24:58
  • asp之家 软件编程 m.aspxhome.com