首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对Collection<T>进行排序?

如何对Collection<T>进行排序?
EN

Stack Overflow用户
提问于 2010-03-19 20:38:28
回答 7查看 128.1K关注 0票数 55

我有一个通用的Collection,正在尝试解决如何对其中包含的项进行排序。我试过几种方法,但都不能正常工作。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-03-19 20:44:46

集合本身没有预定义的顺序,因此必须将它们转换为java.util.List。然后,您可以使用一种形式的java.util.Collections.sort

代码语言:javascript
复制
Collection< T > collection = ...;

List< T > list = new ArrayList< T >( collection );

Collections.sort( list );
 // or
Collections.sort( list, new Comparator< T >( ){...} );

// list now is sorted
票数 75
EN

Stack Overflow用户

发布于 2010-03-19 20:42:16

Collection没有排序,所以想要对它进行排序是没有意义的。您可以对List实例和数组进行排序,方法是Collections.sort()Arrays.sort()

票数 9
EN

Stack Overflow用户

发布于 2010-03-19 21:20:54

如果您的集合对象是一个列表,我将使用sort方法,正如其他答案中所建议的那样。

但是,如果它不是一个列表,并且你并不真正关心返回什么类型的集合对象,我认为创建一个TreeSet比创建一个列表更快:

代码语言:javascript
复制
TreeSet sortedSet = new TreeSet(myComparator);
sortedSet.addAll(myCollectionToBeSorted);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2477261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档