由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - M家面试,问java一题
相关主题
请教 HashMap implementation 标准答案。。常见的一个电面题
请教一道公司面试题Amazon 电面
Java的hashcode和equal函数有什么用?弱弱的问问intersection, union of two arrays or two sets ?
Bloomberg 面经G的一道题phone interview
问个java hashcode的题一个实际碰到的问题
请教一个 Java hashcode 和 equals 的面试题!5分钟前G的电面
Google电面被拒,郁闷中yahoo面经
Google电面airbnb就这一道题目么?
相关话题的讨论汇总
话题: hashcode话题: hashmap话题: break话题: java话题: 测试
进入JobHunting版参与讨论
1 (共1页)
w********s
发帖数: 1570
1
1,java中的类什么时候要自己写个hashCode()?
2,写出一个能break HashMap正常工作的hashCode()
3,怎样测试hashCode()是否work?
l*****a
发帖数: 14598
2

用随机数函数生成hashCode

【在 w********s 的大作中提到】
: 1,java中的类什么时候要自己写个hashCode()?
: 2,写出一个能break HashMap正常工作的hashCode()
: 3,怎样测试hashCode()是否work?

y***n
发帖数: 1594
3
难道不是都要写吗?
w********s
发帖数: 1570
4
怎么测试?

【在 y***n 的大作中提到】
: 难道不是都要写吗?
m*****l
发帖数: 95
5
1.重写了equals的类要求重写hashCode()
2.return 0;
3. 不知道。。。

【在 w********s 的大作中提到】
: 1,java中的类什么时候要自己写个hashCode()?
: 2,写出一个能break HashMap正常工作的hashCode()
: 3,怎样测试hashCode()是否work?

w********s
发帖数: 1570
6
return 0真能break HashMap么?

【在 m*****l 的大作中提到】
: 1.重写了equals的类要求重写hashCode()
: 2.return 0;
: 3. 不知道。。。

s********k
发帖数: 2352
7
完全不会。。。

【在 w********s 的大作中提到】
: 1,java中的类什么时候要自己写个hashCode()?
: 2,写出一个能break HashMap正常工作的hashCode()
: 3,怎样测试hashCode()是否work?

w********s
发帖数: 1570
8
你再仔细想想return 0会不会break HashMap?

【在 m*****l 的大作中提到】
: 1.重写了equals的类要求重写hashCode()
: 2.return 0;
: 3. 不知道。。。

o***g
发帖数: 2784
9
补充一下
看第45页:
http://uet.vnu.edu.vn/~chauttm/e-books/java/Effective.Java.2nd.
2. 楼上说的random是可以的。break hashmap的意思应该是像书里的例子,本来
hashmap里有这个object,本来应该找到的,但是由于hashcode的原因找不到了。另外
一个可能是错误的将某个不应该计算hashcode的field给计算hashcode了。比如user类
,可以用username或者id算hashcode,假设id或者username是不能修改的。如果错误的
将user.address也参与了hashcode的计算,那如果user.address修改了,hashcode也会
变了。
3. 测试的话需要测试书里面的前2点。第2点好办,就是测试两个equals的object的
hashcode是否也一样。第1点的话,可以修改一个object里的field,然后看hashcode是
否变化,但是也不能全部修改吧,hashcode总得根据某些个field算出来的。还得根据
业务逻辑,某些不应该算hashcode的field,要确保这些field没有参与hashcode的计算

【在 m*****l 的大作中提到】
: 1.重写了equals的类要求重写hashCode()
: 2.return 0;
: 3. 不知道。。。

m*****l
发帖数: 95
10
我对break hashcode的理解有误了,我理解为让这个hashcode()不具有hash降低时间复
杂度的效果就算break了。返回random应该是最好的答案。
1 (共1页)
进入JobHunting版参与讨论
相关主题
airbnb就这一道题目么?问个java hashcode的题
请教个面试题, tree和hashmap的区别请教一个 Java hashcode 和 equals 的面试题!
实现个hashmap要override哪些method?javaGoogle电面被拒,郁闷中
问个Java的HashSet.contains的问题Google电面
请教 HashMap implementation 标准答案。。常见的一个电面题
请教一道公司面试题Amazon 电面
Java的hashcode和equal函数有什么用?弱弱的问问intersection, union of two arrays or two sets ?
Bloomberg 面经G的一道题phone interview
相关话题的讨论汇总
话题: hashcode话题: hashmap话题: break话题: java话题: 测试