zoukankan      html  css  js  c++  java
  • 【基础】IdentityHashMap

    HashMap中的key不能重复,当新增相同的key时,新增内容会覆盖原来key的内容

    IdentityHashMap能达到什么效果
    可支持重复的key,但新增的key地址不能同已有key的地址一致,地址一致还是会覆盖的。

    import org.junit.Assert;
    import org.junit.Test;
    
    import java.util.*;
    
    public class CollectionTest {
    
        @Test
        public void testIdentityHashMap() {
            Map<String,Integer> map = new IdentityHashMap<>();
            Assert.assertNull(map.put("192.168.0.1", 200));
            Assert.assertEquals(new Integer(200), map.put("192.168.0.1", 300));
            Assert.assertNull(map.put("192.168.1.1", 200));
    
            map.forEach((k,v)->{
                System.out.println(k+":"+v);
            });
    
            System.out.println("======");
    
            Map<String,Integer> map2 = new IdentityHashMap<>();
            map2.put(new String("192.168.0.1"), 200);
            map2.put(new String("192.168.0.1"), 300);
            map2.put("192.168.1.1", 200);
    
            map2.forEach((k,v)->{
                System.out.println(k+":"+v);
            });
        }
    

    输出的结果是

    192.168.1.1:200
    192.168.0.1:300
    ======
    192.168.1.1:200
    192.168.0.1:200
    192.168.0.1:300
    
  • 相关阅读:
    选择器高级,from提交方式
    java基础(5)
    java基础(4)
    java基础(3)
    java基础(2)
    java基础(1)
    数据库基础与ADO.NET和C#中的异常处理
    C#中字符串的常用方法
    Linux基本命令格式(3)
    面向对象第二章
  • 原文地址:https://www.cnblogs.com/zendwang/p/java-collection-identityhashmap.html
Copyright © 2011-2022 走看看