覆盖HashMap实现的equals()和hashCode()方法

时间:2011-03-10 23:01:53

标签: java collections hashmap

我有一个HashMap<Long, ArrayList<String>>类型的散列图。

我需要重写equals()和hashCode()方法以获得性能。对于这种情况,最重要的功能应该是什么?

我知道确切的没有。我将放在HashMap中的元素,因此我使用了initial Capacity = (No. Of Elements that will be put)/ 0.75

其中0.75 =&gt;负载系数 这是对的吗?

2 个答案:

答案 0 :(得分:4)

equals(..)的{​​{1}}方法具有线性复杂性。 HashMap也是如此。我认为它不会变得更好 - 你必须比较每个元素

答案 1 :(得分:1)

您可以假设LongArrayListString等Java库对象具有equals()hashCode()的正确实现。

(你是正确的,当你在HashMap中使用一个对象作为键时,你应该确保它对这些方法有一致的实现)