如果我在 Comparator.compare() 中总是 return 0 为什么我的集合中只有 1 个项目?

If I always return 0 in Comparator.compare() why do I end-up with 1 item in my Set?

我为 TreeSet 编写了自定义比较器。为了调试,我决定将 "compare()" 硬连线到始终 return 0。令我惊讶的是,一个项目被输入到集合中。

为什么会这样?我正在尽力理解 "set.add()" 和 "compare()" 之间的关系。

始终返回零意味着所有项都等于所有其他项。

这不会阻止您添加单个可能的项目。