“太阳报”提供了TreeSet和TreeMap,但没有TreeList。他们提供了一个实用程序Collections.sort()来对列表进行排序。当他们提供排序的Map和Set时,他们没有提供排序的列表的原因是什么?
这背后有什么特别的原因吗?
我正在为SCJP做准备,所以在通过Generics和Collections的时候,我产生了这样的疑问。有谁能澄清一下。
发布于 2012-07-23 14:15:43
列表API中的第一行说明它是一个有序集合(也称为序列)。如果对列表进行排序,就不能保持顺序,所以在Java语言中没有TreeList。正如您所提到的,这可能就是您需要从外部对其进行排序的情况。
正如API所说,Java List的灵感来自Sequence并查看sequence属性http://en.wikipedia.org/wiki/Sequence_(mathematics)
这并不意味着您不能对列表进行排序,但Java严格遵守他的定义,并且默认情况下不提供列表的排序版本。
https://stackoverflow.com/questions/11607259
复制相似问题