【发布时间】:2013-12-12 04:44:30
【问题描述】:
为什么TreeSet 和HashSet 的add() 方法的Oracle Java API 文档指出:
只有在
(e==null ? e2==null : e.equals(e2))的集合中没有e2时才添加元素e
但是,TreeSet 使用compareTo(),而HashSet 使用hashCode() 来确定相等性。两者都忽略了equals() 的值。我担心文档不准确,还是我对约定或算法的理解有问题?
【问题讨论】: