根据我的理解,我认为:
我对么?
现在,如果我是正确的,我有以下问题:HashMap内部使用对象的哈希码.因此,如果两个对象可以具有相同的哈希码,那么它如何HashMap使用它所使用的键?
有人可以解释HashMap内部如何使用对象的哈希码吗?
我有以下两个类:
class KeyClass {
private prop1;
private prop2;
hashcode() {
//implemented properly
}
equals() {
//implemented properly
}
}
class ValueClass {
private prop1;
private prop2;
hashcode() {
//implemented properly
}
equals() {
//implemented properly
}
}
Run Code Online (Sandbox Code Playgroud)
我试图从地图中找出最大对,其中这些类的对象分别是键和值对.我也有一个com.google.common.collect.Ordering<ValueClass>使用多个比较器.我可以使用这个排序轻松找出最大值,但我感兴趣的是最大值的关键.
我可以编写一个特定的实现,其中我可以跟踪循环中的值并使用排序来比较值(类似于查找最大值的传统方式),但我想知道我们是否已经有这样的情况由Guava任何其他图书馆处理?