HashMap 的key 不可变的问题

cocoooooa cocoooooa 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

String t1 = "123123";
Map<String,String> hashMap = new HashMap<String,String>();
hashMap.put(t1,"000");

System.out.println(t1.hashCode());
System.out.println(hashMap.get(t1)); // 000

t1 = "1ahdjhajd";

System.out.println(t1.hashCode());
System.out.println(hashMap.get(t1)); // null


有点懵,不是说key最好是用不可变对象,比如 String,int ,但是上面的代码
...全文

相关推荐

HashMap.pdf

HashMap.pdf

qq_32424581

浅谈为什么Java里面String类是不可变的

主要介绍了为什么Java里面String类是不可变的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

weixin_38628552

HashMap原理.docx

HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要对象,因为HashMap是后出的API经过处理才可以)2、HashMap的工作原理是什么?

精准而优雅_

HashMap-面试必过

1.说一下 HashMap 的实现原理? 2.HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现? 3.HashMap的put方法的具体流程? 4.HashMap的扩容操作是怎么实现的? 5.HashMap是怎么解决哈希冲突的? 6.什么是哈希? 7.什么是哈希冲突? 8.HashMap的数据结构? 9.JDK1.8新增红黑树? 10.能否使用任何类作为 Map 的 key? 11.为什么HashMap中String、Integer这样的包装类适合作为K? 12.如果使用Object作为HashMap的Key,应该怎么办呢? 13.HashMap为什么不直接使用hashCode()处理后的哈希值直接作为table的下标? 14.HashMap 的长度为什么是2的幂次方? 15.HashMap 与 HashTable 有什么区别? 16.如何决定使用 HashMap 还是 TreeMap? 17.HashMap 和 ConcurrentHashMap 的区别? 18.ConcurrentHashMap 和 Hashtable 的区别?

博士通

Java资深开发工程师知识体系.docx

Java基础知识很多,可能列举不全,但是很多知识点都需需要了解和掌握的,从基础入手才能更好的理解和学习深层次的知识

Titania--P
评论 6
收藏 已收藏
分享
返回顶部
cocoooooa
Java SE 62,620 成员 307,251 内容