Java:为什么TreeMap被称为“树”地图?

我无法理解为什么TreeMap被称为TreeMap而不是SortedMap。 据我所知,TreeMap是一个自动对其元素进行排序的地图。 计算机科学中的树就像一个图形。 所以为什么?

因为TreeMap是由红黑树实现的

我无法理解为什么TreeMap被称为TreeMap而不是SortedMap。

TreeMapSortedMap接口的一个实现。 或者SortedMapTreeMap实现

据我所知,TreeMap是一个自动对其元素进行排序的地图。

是的, TreeMap保证默认情况下其元素将按升序键排序。

好好读到这里

正如F. Ju所说,TreeMap是由红黑树实现的。 你也可以看到Javadocs :

基于Red-Black树的SortedMap接口实现。 此类保证映射将按升序键顺序排序,根据键类的自然顺序排序(请参阅Comparable),或者按创建时提供的比较器排序,具体取决于使用的构造函数。

请注意,如果此有序映射要正确实现Map接口,则由有序映射维护的排序(无论是否提供显式比较器)必须与equals一致。 (请参阅Comparable或Comparator以获得与equals一致的精确定义。)这是因为Map接口是根据equals操作定义的,但是map使用compareTo(或compare)方法执行所有键比较,因此两个键从排序地图的角度来看,通过这种方法被视为相等的是相等的。 即使排序与equals不一致,也可以很好地定义有序映射的行为。 它只是没有遵守Map接口的一般合同。