Sun 提供了TreeSet
和TreeMap
但没有 TreeList。他们提供了一个实用程序Collections.sort()
来对列表进行排序。当他们提供Sorted Map和Set时,他们没有提供Sorted List的原因是什么?
这背后有什么具体原因吗?
我正在为 SCJP 做准备,所以在经历Generics
andCollections
时,我有这个疑问。谁能澄清一下。
Sun 提供了TreeSet
和TreeMap
但没有 TreeList。他们提供了一个实用程序Collections.sort()
来对列表进行排序。当他们提供Sorted Map和Set时,他们没有提供Sorted List的原因是什么?
这背后有什么具体原因吗?
我正在为 SCJP 做准备,所以在经历Generics
andCollections
时,我有这个疑问。谁能澄清一下。
List API 中的第一行表示它是一个有序集合(也称为序列)。如果对列表进行排序,则无法保持顺序,因此 Java 中没有 TreeList。可能就是这种情况,您需要像您提到的那样对其进行外部排序。
正如 API 所说,Java List 从 Sequence 中获得灵感,并查看序列属性http://en.wikipedia.org/wiki/Sequence_(mathematics)
这并不意味着您不能对列表进行排序,而是 Java 严格遵守他的定义,并且默认情况下不提供列表的排序版本。