文档章节

HashMap中key重复处理

Airship
 Airship
发布于 2015/01/23 21:47
字数 189
阅读 2516
收藏 0

用jdk本身的map是实现不了这种情况: 有重复key 但是不需要新的映射值value覆盖先前的value。

public interface Map<K,V>将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射一个值。

自然继承一下HashMap,改写它的一个方法就ok了

Java代码

  1. imp

    ort java.util.*;   

  2.   

  3. class MyHashMap extends HashMap   

  4. {   

  5.     @Override  

  6.     public Object put(Object key, Object value)   

  7.     {   

  8.         //如果已经存在key,不覆盖原有key对应的value   

  9.         if(!this.containsKey(key))   

  10.             return super.put(key, value);   

  11.            

  12.         return null;   

  13.     }   

  14. }   

  15.   

  16. public class TestOne   

  17. {   

  18.   

  19.     public void printMap()   

  20.     {   

  21.   

  22.         Map map = new MyHashMap();   

  23.   

  24.         map.put("1", "1");   

  25.   

  26.         map.put("2", "2");   

  27.   

  28.         map.put("3", "3");   

  29.   

  30.         map.put("1", "4");   

  31.   

  32.         Iterator it = map.keySet().iterator();   

  33.   

  34.         while (it.hasNext())   

  35.         {   

  36.   

  37.             Object key = it.next();   

  38.   

  39.             System.out.println("key = " + key + "  ;   value = " + map.get(key));   

  40.         }   

  41.   

  42.     }   

  43.   

  44.     public static void main(String[] args)   

  45.     {   

  46.         new TestOne().printMap();   

  47.     }   

  48. }  

本文转载自:http://alex09.iteye.com/blog/539545

Airship
粉丝 43
博文 994
码字总数 20464
作品 0
南京
高级程序员
私信 提问
Java集合框架知识及HashMap和HashSet的区别

HashMap和HashSet的区别 HashSet实质 (1)HashSet是set的一个实现类,hashMap是Map的一个实现类,同时hashMap是hashTable的替代品(为什么后面会讲到). (2)HashSet以对象作为元素,而HashMap以(ke...

qq_36523667
2018/03/17
0
0
(周期计划-8)常用集合的源码分析:HashMap

写在前面 上一篇博客,我们分析了ArrayList的源码实现,ArrayList吊起来观察一番之后,那么下一个被吊起来的肯定就是HashMap了。作为以key/value存储方式的集合,HashMap可以说起到了极大的作...

MDove
2018/05/06
0
0
集合(四): Map

更多实现类的源码分析请点击链接地址。。。。。。。 一: java.util.Map<k,v> Map用于保存具有映射关系的数据,因此Map集合(键值对的集合)里保存着两组值,一组值用于保存Map里的key,另外一...

牧羊人Berg
2016/06/14
46
0
java集合框架总结(六)

一、Map 简介 Map 用于保存具有映射关系的数据,因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value Map 中的 key 和 value 都可以是任何引用类型...

hapier
2016/09/09
15
0
Hashmap和HashTable

1. 关于HashMap的一些说法: HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表。 HashMap的实例有俩个参数影响其...

就是小灰灰
2017/07/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

typescript 接口 函数类型 可索引类型

函数类型 可索引类型 数字索引签名 字符串索引签名 数字索引签名返回值 必须是 字符串索引签名返回值的子集 只读索引签名

lilugirl
今天
3
0
Oracle SQL语法实例合集

如需转载请注明出处https://my.oschina.net/feistel/blog/3052024 目的:迅速激活Oracle SQL 参考:《Oracle从入门到精通》 ------------------------------------------------------------......

LoSingSang
今天
2
0
增加 PostgreSQL 服务进程的最大打开文件数

https://serverfault.com/questions/628610/increasing-nproc-for-processes-launched-by-systemd-on-centos-7 要在systemd的配置里加才行...

helloclia
今天
2
0
组合模式在商品分类列表中的应用

在所有的树形结构中最适合的设计模式就是组合模式,我们看看常用商品分类中如何使用。 先定义一个树形结构的商品接口 public interface TreeProduct { List<TreeProduct> allProducts(...

算法之名
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部