首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将TreeSet转换为ArrayList?

将TreeSet转换为ArrayList?
EN

Stack Overflow用户
提问于 2012-02-17 11:18:22
回答 3查看 41.8K关注 0票数 28

我有一个包含超过100k个对象的TreeSet。我还有另一个方法,它需要ArrayList作为参数。

有没有什么方法可以在不迭代整个TreeSet,然后手动将每个对象添加到ArrayList中的情况下完成此操作?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-17 11:58:55

这样如何:

代码语言:javascript
复制
new ArrayList<T>(set);

对于Java7和更高版本,这可以简化,因为可以用菱形类型<>替换类型参数<T>

代码语言:javascript
复制
new ArrayList<>(set);
票数 66
EN

Stack Overflow用户

发布于 2012-02-17 11:21:43

ArrayList有一个方便的方法addAll,它很好地满足了这个要求:

代码语言:javascript
复制
final Set<Object> set = ...
List<Object> list = new ArrayList<Object>(someBigNum);
list.addAll(set);
票数 5
EN

Stack Overflow用户

发布于 2020-07-02 14:28:25

如果有人使用由高盛开发的具有超强功能的Eclipse Collections,那就是toList()

代码语言:javascript
复制
MutableSortedSet<Object> set = SortedSets.mutable.empty();
...
return set.toList();

提供比较器也是可能的:

代码语言:javascript
复制
MutableSortedSet<Object> set = SortedSets.mutable.of(comparator);
...
return set.toList();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9322405

复制
相关文章

相似问题

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