在TreeMap和TreeSet中,compareTo()和equals()是否可以基于两个不同的字段?

时间:2018-02-04 17:03:20

标签: java hashmap hashset treemap treeset

TreeMapTreeSet中,compareTo()equals()是否可以基于两个不同的字段?

由于两者都是二叉搜索树,因此左移和右移是基于key.Compare()。所以从理论上讲,我可以根据一个字段进行排序(我将在compareTo()中使用),但我可以为equals()hashCode()使用单独的字段。

这样做有什么害处吗?根据我的理解,如果我在HashMap或HashSet中使用同一个对象,只要equals()和hashCode()基于同一个字段,就不应该有任何问题。

0 个答案:

没有答案