HashMap合并相同key的value
Map<String, String> map1 = new HashMap<>();
map1.put("x", "y");
map1.put("a", "b");
map1.put("c", "d");
map1.put("e", "d");
map1.put("f", "b");
map1.put("m", "n"); Map<String, ArrayList<String>> map2 = new HashMap<>();
String entryValue = null;
String entryKay = null;
ArrayList<String> tmpValue = new ArrayList<>();
ArrayList<String> tmpMap2Value = new ArrayList<>(); for (Entry<String, String> entry : map1.entrySet()) {
tmpValue.clear();
tmpMap2Value.clear();
entryKay = entry.getKey();
entryValue = entry.getValue(); if (map2.keySet().contains(entryValue)) {
tmpMap2Value = map2.get(entryValue);
tmpMap2Value.add(entryKay);
map2.put(entryValue, (ArrayList<String>) tmpMap2Value.clone());
} else {
tmpValue.add(entryKay);
map2.put(entryValue, (ArrayList<String>) tmpValue.clone());
}
}
System.out.println(map2);

Java不能 通过简单的赋值来解决对象复制的问题,需要利用clone实现。
HashMap合并相同key的value的更多相关文章
- 【转】HashMap集合中key只能为引用数据类型,不能为基本类型
在HashMap中,为什么不能使用基本数据类型作为key? 其实和HashMap底层的存储原理有关,HashMap存储数据的特点是:无序.无索引.不能存储重复元素. 存储元素采用的是hash表存储数据 ...
- scala 两个map合并,key相同时value相加/相减都可
scala 两个map合并,key相同时value相加 1.map自带的合并操作 2.map函数 2.1示例 2.2合并两个map 3.用foldLeft 3.1 语法 3.2 合并两个map 1.m ...
- .Net 中HashTable,HashMap 和 Dictionary<key,value> 和List<T>和DataTable的比较
参考资料 http://www.cnblogs.com/MichaelYin/archive/2011/02/14/1954724.html http://zhidao.baidu.com/link? ...
- HashMap 的遍历key与value的方法
HashMap最经常使用的使用方法是依据key增删改查value,有时候会须要知道一个HashMap有多少个keys以及这些keys都是什么,能够用以下的代码实现. 方法1: Map map = ne ...
- 一个简单需求:HashMap实现相同key存入数据后不被覆盖
做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 看似是一个简单的问题,其实里面包含很多的东西! 需求: 实现一个在HashMap中存入(任意类型)相同的key值后,key ...
- JDK1.7的HashMap的put(key, value)源码剖析
目录 HashMap的put操作源码解析 1.官方文档 2.put(key, value) 3.完结 HashMap的put操作源码解析 1.官方文档 1.1.继承结构 java.lang.Objec ...
- 如何高效的遍历HashMap 以及对key 进行排序
Map<Integer ,Object> map = new HashMap<Integer,Object>(); for(int i = 0; i<=100;i++){ ...
- java自定义类型 作为HashMap中的Key值 (Pair<V,K>为例)
由于是自定义类型,所以HashMap中的equals()方法和hashCode()方法都需要自定义覆盖. 不然内容相同的对象对应的hashCode会不同,无法发挥算法的正常功能,覆盖equals方法, ...
- Java - HashMap分别按Key和Value进行排序
我们都知道,Java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Ke ...
随机推荐
- ACM/ICPC 之 Floyd+记录路径后继(Hdu1385(ZOJ1456))
需要处理好字典序最小的路径 HDU1385(ZOJ1456)-Minimum Transport //Hdu1385-ZOJ1456 //给定邻接矩阵,求给定起点到终点的最短路径,若有相同路长的路径按 ...
- 请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。
在网上下了个源码打开报错. 请确认 <Import> 声明中的路径正确,且磁盘上存在该文件. 一查,原来是路径错误. 解决办法:将项目文件(.csproj)用记事本打开,然后找到<I ...
- Django环境搭建
1.安装好Python 2.7.10 2.下载解压Django Django-1.9.2.tar.gz cmd cd到解压缩目录(***) python setup.py install 3.检测是否 ...
- Bundle savedInstanceState的作用
写过Android程序的都知道Activity中有一个名称叫onCreate的方法.该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始.可是有一点容易被忽视,就是onCr ...
- 【python】入门学习(十)
#入门学习系列的内容均是在学习<Python编程入门(第3版)>时的学习笔记 统计一个文本文档的信息,并输出出现频率最高的10个单词 #text.py #保留的字符 keep = {'a' ...
- 【Git】笔记3
来源:廖雪峰 远程仓库 远程仓库采用github 准备工作:创建远程仓库 1.创建一个github账号 2.在本地设置ssh,获取/home/user/.ssh/id_rsa.pub内容 3.在git ...
- codeforces gym 100286 H - Hell on the Markets (贪心算法)
题目链接 题意:n个数分别为a[i],问是否存在一组对应的b[i],b[i]=1 || b[i]=-1,使得ai*bi的n项和为0. 题解: 先证明一个结论吧,对于1≤ai≤i+1,前面ai个数一定可 ...
- IIS 发布mvc 403.14
转载: iis7 发布mvc3 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容及Login on failed for “IIS APPPOOL\ASP ...
- September 3rd 2016 Week 36th Saturday
Calculation never made a hero. 举棋不定,难以称雄. We change. We have to. Or we spend the rest of our lives f ...
- 建立controller
复制controller,重建controller 改: @Controller("[productController]") @RequestMapping("/[pr ...