我有一个包含超过100k个对象的TreeSet。我还有另一个方法,它需要ArrayList作为参数。
有没有什么方法可以在不迭代整个TreeSet,然后手动将每个对象添加到ArrayList中的情况下完成此操作?
发布于 2012-02-17 11:58:55
这样如何:
new ArrayList<T>(set);
对于Java7和更高版本,这可以简化,因为可以用菱形类型<>
替换类型参数<T>
new ArrayList<>(set);
发布于 2012-02-17 11:21:43
ArrayList有一个方便的方法addAll
,它很好地满足了这个要求:
final Set<Object> set = ...
List<Object> list = new ArrayList<Object>(someBigNum);
list.addAll(set);
发布于 2020-07-02 14:28:25
如果有人使用由高盛开发的具有超强功能的Eclipse Collections,那就是toList()
MutableSortedSet<Object> set = SortedSets.mutable.empty();
...
return set.toList();
提供比较器也是可能的:
MutableSortedSet<Object> set = SortedSets.mutable.of(comparator);
...
return set.toList();
https://stackoverflow.com/questions/9322405
复制相似问题