美文网首页Android开发经验谈
Java之IdentityHashMap实现原理

Java之IdentityHashMap实现原理

作者: dotaer_shashen | 来源:发表于2017-03-04 11:50 被阅读0次
    Java中key值可以重复的map

    在正常的Map 实现(如 HashMap)中,当且仅当满足下列条件时才认为两个键 k1 和 k2 相等:(k1==null ? k2==null : e1.equals(e2));
    而 IdentityHashMap 类利用哈希表实现 Map 接口,比较键(和值)时使用引用相等性(比较的是在内存中的储存地址)代替对象相等性;

    IdentityHashMap<String,Object> map =newIdentityHashMap<String,Object>();  
    map.put(newString("xx"),"first");  
    map.put(newString("xx"),"second");  
    for (Entry<String, Object> entry : map.entrySet()) {  
        System.out.print(entry.getKey() +"    ");  
        System.out.println(entry.getValue());  
    }  
    System.out.println("idenMap="+map.containsKey("xx"));  
    System.out.println("idenMap="+map.get("xx"));  
    
    xx    first  
    xx    second  
    idenMap=false  
    idenMap=null
    
    

    相关文章

      网友评论

        本文标题:Java之IdentityHashMap实现原理

        本文链接:https://www.haomeiwen.com/subject/dxodgttx.html