Nik*_*arg 15 java hashmap
我有一个类,我想在HashMap中设置为键.我已经为该类实现了compareTo方法.但是当我这样做时:
map.put(new MyKey(dummyArguements) , dummyValue ); System.out.println(map.get( new MyKey(dummyArguements) ) );
我得到了.这意味着hashmap无法识别两个密钥(用于get&put调用)是否相同.
有人可以帮我吗?
Mik*_*e Q 34
你需要实现hashCode()和equals(). compareTo()对于有序映射/集合,还需要它.
hashCode()
equals()
compareTo()
有关详情,请参阅此问题.
amo*_*fis 13
你应该实现equals()和hashCode().你的班级也应该是不可改变的.如果它是可变的,它的哈希码可以在将它添加到map后改变.然后地图可能会遇到问题.
归档时间:
15 年,2 月 前
查看次数:
34153 次
最近记录:
9 年 前