我在探索最常见的Java集合的各种方法,操作和先决条件,我有点困惑。我会很感激,如果有人能澄清以下主题:TreeMap/TreeSet的要求
1)是的方法equals
和实现hashCode
绝对需要,为了使TreeSet
和TreeMap
正常工作,因为它是在HashMap
?不执行以前的方法有什么潜在的影响?我正在使用TreeMap和TreeSet(自定义类对象),并且它们迄今为止工作良好,只需执行Comparable
及其方法compareTo
,即可省略equals
和hashCode
。
2)当在一个类equals
,或hashCode
甚至接口Comparable
impelmenting,是它足够用于所有派生类对在根据没有新定义和implementantion那些方法集合正常工作?我有一个印象,前者是正确的,因为给定的方法也属于派生类。什么是最后的真实?
设置与Map不同,将它分成两个问题我猜是好的。 – kosa