我有一个通用的Collection,正在尝试解决如何对其中包含的项进行排序。我试过几种方法,但都不能正常工作。
发布于 2010-03-19 20:44:46
集合本身没有预定义的顺序,因此必须将它们转换为java.util.List。然后,您可以使用一种形式的java.util.Collections.sort
Collection< T > collection = ...;
List< T > list = new ArrayList< T >( collection );
Collections.sort( list );
// or
Collections.sort( list, new Comparator< T >( ){...} );
// list now is sorted发布于 2010-03-19 20:42:16
Collection没有排序,所以想要对它进行排序是没有意义的。您可以对List实例和数组进行排序,方法是Collections.sort()和Arrays.sort()
发布于 2010-03-19 21:20:54
如果您的集合对象是一个列表,我将使用sort方法,正如其他答案中所建议的那样。
但是,如果它不是一个列表,并且你并不真正关心返回什么类型的集合对象,我认为创建一个TreeSet比创建一个列表更快:
TreeSet sortedSet = new TreeSet(myComparator);
sortedSet.addAll(myCollectionToBeSorted);https://stackoverflow.com/questions/2477261
复制相似问题