区别与其他的键不能重复的容器,IdentityHashMap允许key值重复,但是——key必须是两个不同的对象,即对于k1和k2,当k1==k2时,IdentityHashMap认为两个key相等,而HashMap只有在k1.equals(k2) == true 时才会认为两个key相等。

看一段代码:

public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String,String> map =new IdentityHashMap<String,String>(100);//初始化容器的大小
String a="aa";
String b=new String("aa"); 
System.out.println(a==b);
map.put(a, "cc");
map.put(b, "bb");
map.put("2", "dd");
System.out.println(map.size());//3

Map<String,String> map1 =new IdentityHashMap<String,String>(100);
map1.put("11", "cc");
map1.put(new String("11"), "bb"); //map1.put(new String("11").intern(), "bb"); 
map1.put("2", "dd");
System.out.println(map1.size());//3

Map<Integer,String> map2 =new IdentityHashMap<Integer,String>(100);
map2.put(127, "cc");
map2.put(127, "bb"); 
map2.put(2, "dd");
System.out.println(map2.size());//2

//超出常量池范围~~
Map<Integer,String> map3 =new IdentityHashMap<Integer,String>(100);
map3.put(128, "cc");
map3.put(128, "bb"); 
map3.put(2, "dd");
System.out.println(map3.size()); //3

}

转载于:https://www.cnblogs.com/drcoding/p/4241664.html

IdentityHashMap相关推荐

  1. 【集合框架】JDK1.8源码分析之IdentityHashMap(四)

    一.前言 前面已经分析了HashMap与LinkedHashMap,现在我们来分析不太常用的IdentityHashMap,从它的名字上也可以看出来用于表示唯一的HashMap,仔细分析了其源码,发现 ...

  2. key可以重复的map集合:IdentityHashMap

    之前的Map操作中key值的内容不能重复,如果重复的话,后面的内容会把前面的内容覆盖掉. 程序范例: import java.util.IdentityHashMap ; import java.ut ...

  3. Java8 IdentityHashMap 源码分析

    在讲这个数据结构之前,我们先来看一段代码: public static void main(String[] args) {IdentityHashMap<String, Integer> ...

  4. Java IdentityHashMap size()方法与示例

    IdentityHashMap类的size()方法 (IdentityHashMap Class size() method) size() method is available in java.u ...

  5. Java IdentityHashMap equals()方法与示例

    IdentityHashMap类equals()方法 (IdentityHashMap Class equals() method) equals() method is available in j ...

  6. Java IdentityHashMap putAll()方法与示例

    IdentityHashMap类putAll()方法 (IdentityHashMap Class putAll() method) putAll() method is available in j ...

  7. Java IdentityHashMap keySet()方法及示例

    IdentityHashMap类keySet()方法 (IdentityHashMap Class keySet() method) keySet() method is available in j ...

  8. Java IdentityHashMap isEmpty()方法与示例

    IdentityHashMap类isEmpty()方法 (IdentityHashMap Class isEmpty() method) isEmpty() method is available i ...

  9. Java中key可以重复的Map集合:IdentityHashMap

    范例:Map中的key不允许重复,重复就是覆盖 [java] view plaincopy package org.lxh.demo13.mapdemo; import java.util.HashM ...

最新文章

  1. 微软学者 | 郭达雅:瞄准科研目标主动出击,挑战“不可思议”
  2. 2008 r2 sn sqlserver_sqlserver 下载地址(SQL Server 2008 R2 中英文 开发版/企业版/标准版 下载)...
  3. 0001242: Steps to make RealTek DVB-T USB dongle...
  4. 【2012百度之星/资格赛】B:小诺爱USB设备
  5. Github 王炸功能!Copilot 替代打工人编程?
  6. java mssql mysql,在JSP中访问MSSQLServer数据库_MySQL
  7. 纺织名词术语(针织品部分)---疵点
  8. springMVC工作过程
  9. PHP-文件下载功能总结
  10. 1.MATLAB简介
  11. VC++2010学习版安装包下载,需要的百度网盘自取
  12. 数字信号处理-基础一
  13. 408真题-2022
  14. 【线性代数】向量组及其线性组合
  15. Python使用Pillow库进行图像
  16. eclipse官方下载32位和64位的具体步骤
  17. php后端switch,详解PHP中php switch的方法实例_后端开发
  18. d3力导向图增加节点_d3.js力导向图节点如何都显示在边框内
  19. 悠漓带你浅谈C语言2(数据类型)
  20. RTKLIB相对定位部分算法梳理

热门文章

  1. 《深入理解Java虚拟机》读书笔记五
  2. 24-Thief小偷-Crime犯罪
  3. (2) LVS负载均衡:VS_TUN和VS_DR的arp问题
  4. ES6/ES2015核心内容(上)
  5. 1-36随机生成6个不重复的数
  6. centos -bash-4.1$ 不显示用户名路径
  7. 【并查集】 HDU 4424 Conquer a New Region 贪心
  8. 机器学里面的一些概念-召回率,精确度等的介绍
  9. SCSI 总线和协议
  10. Get 与 Post 【总结】 (实例:从a.html到b.aspx传值)