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
    
  • 相关阅读:
    斯特林公式
    高精度算法
    容斥原理
    贪心问题之——Dijkstra最短路
    博弈论
    JavaScript数据类型
    JavaScript变量
    认识JavaScript
    编程语言与计算机
    CSS验证工具
  • 原文地址:https://www.cnblogs.com/zendwang/p/java-collection-identityhashmap.html
Copyright © 2011-2022 走看看