Sun提供了TreeSet
和TreeMap
,但没有提供TreeList。他们提供了一个实用程序Collections.sort()
来对List进行排序。当他们提供Sorted Map and Set时,他们没有提供Sorted List的原因是什么。?
背后有什么具体原因吗?
我正在为SCJP做准备,所以在通过Generics
和Collections
时,我明白了这一点。任何人都可以澄清。
答案 0 :(得分:4)
List API中的第一行表示它是一个有序集合(也称为序列)。如果对列表进行排序,则无法维护顺序,因此Java中没有TreeList。可能就是你要提到外部排序的情况
正如API所说,Java List受到了Sequence的启发,并且看到了序列属性http://en.wikipedia.org/wiki/Sequence_(mathematics)
这并不意味着你不能对列表进行排序,而是Java严格按照他的定义排序,并且默认情况下不提供列表的排序版本。