IdentityHashMap vs HashMap

IdentityHashMap判断key是否相等的方式:

if (item == k)

ashMap判断key是否相等的方式:

if (e.hash == hash && ((k = e.key) == key || (key != null && key.equals(k))))
String a = new String("123");
String b = new String("123");
HashMap hashMap = new HashMap();
hashMap.put(a, 1);
hashMap.put(b, 2);
System.out.println(hashMap);

IdentityHashMap identityHashMap = new IdentityHashMap();
identityHashMap.put(a, 1);
identityHashMap.put(b, 2);
System.out.println(identityHashMap);

执行的结果是:

{
    
    123=2}
{
    
    123=1, 123=2}

猜你喜欢

转载自blog.csdn.net/u010659877/article/details/109013967
今日推荐