Java:为什么TreeMap被称为“树”地图?
我无法理解为什么TreeMap被称为TreeMap而不是SortedMap。 据我所知,TreeMap是一个自动对其元素进行排序的地图。 计算机科学中的树就像一个图形。 所以为什么?
因为TreeMap是由红黑树实现的
我无法理解为什么TreeMap被称为TreeMap而不是SortedMap。
TreeMap
是SortedMap
接口的一个实现。 或者SortedMap
由TreeMap
实现 。
据我所知,TreeMap是一个自动对其元素进行排序的地图。
是的, TreeMap
保证默认情况下其元素将按升序键排序。
好好读到这里
正如F. Ju所说,TreeMap是由红黑树实现的。 你也可以看到Javadocs :
基于Red-Black树的SortedMap接口实现。 此类保证映射将按升序键顺序排序,根据键类的自然顺序排序(请参阅Comparable),或者按创建时提供的比较器排序,具体取决于使用的构造函数。
请注意,如果此有序映射要正确实现Map接口,则由有序映射维护的排序(无论是否提供显式比较器)必须与equals一致。 (请参阅Comparable或Comparator以获得与equals一致的精确定义。)这是因为Map接口是根据equals操作定义的,但是map使用compareTo(或compare)方法执行所有键比较,因此两个键从排序地图的角度来看,通过这种方法被视为相等的是相等的。 即使排序与equals不一致,也可以很好地定义有序映射的行为。 它只是没有遵守Map接口的一般合同。