在 TreeMap 的情况下,如果将我们自己的 class 对象作为键传递,那么需要实现哪个接口 Comparable 或 Comparator ,为什么?

in case of TreeMap , if pass our own class object as key then which interface is needed to be implemented Comparable or Comparator and why?

在 "TreeMap" 的情况下,如果将我们自己的 class 对象作为键传递,那么需要实现哪个接口 Comparable 或 Comparator ,为什么?

如果您构造 TreeMap 指定比较器,那么它将用于比较键。

如果您在构造 TreeMap 时未指定 比较器,则键必须实现 Comparable.

通常情况下,如果存在自然排序,密钥会实现 Comparable,但对于某些自定义排序,您会使用单独的 class 作为 Comparator,或者如果存在 键类型没有自然顺序。密钥类型本身实现 Comparator 是不寻常的。