返回信息流还有HashMap的实现原理?面试问了许多次,都不知道该怎么回答了,
各位该怎么回答
这是一条镜像帖。来源:北邮人论坛 / java / #45637同步于 2015/11/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[问题]HashMap中对于相同内容的值怎么处理
dongqing
2015/11/19镜像同步31 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
put(key, value)
key 相同是怎么相同?
如果hashcode相同,那么判断对象是不是一个
如果不是一个,那么用开放链表解决
如果对象就是一个,那么就是重复put,把value换了就行。
【 在 dongqing 的大作中提到: 】
: HashMap是如何判断重复的?
Hash code是一个整数。但java的引用类型不是整数。hashcode可以用来决定hashmap把某个对象放在哪个桶里。
hashcode允许冲突,只需要保证满足a.equals(b)的两个对象的hashcode相等即可。如果equals不满足,hashcode相等不想等都可以。所以,int hashCode() {return 42;}是个完全正确的实现,同时也是最差的实现。
【 在 dongqing 的大作中提到: 】
: Hashcode是干什么的?
我又明白了一部分,谢谢楼上两位神,我邮就是好
【 在 icyfox 的大作中提到: 】
: put(key, value)
: key 相同是怎么相同?
: 如果hashcode相同,那么判断对象是不是一个
: ...................