我有一个包含>的TreeSet 100k物体。 我有另一种方法,需要ArrayList作为参数。
有没有办法在不迭代整个TreeSet然后手动将每个对象添加到ArrayList的情况下完成此操作?
答案 0 :(得分:53)
这个怎么样:
new ArrayList<T>(set);
答案 1 :(得分:4)
ArrayList有一个方便的方法addAll
很适合这个账单:
final Set<Object> set = ...
List<Object> list = new ArrayList<Object>(someBigNum);
list.addAll(set);
答案 2 :(得分:1)
如果有人使用Eclipse Collections(它具有超能力并由高盛公司开发),则有toList()
:
MutableSortedSet<Object> set = SortedSets.mutable.empty();
...
return set.toList();
也可以提供比较器:
MutableSortedSet<Object> set = SortedSets.mutable.of(comparator);
...
return set.toList();
答案 3 :(得分:0)
我们可以使用以下几种方法将 TreeSet 转换为 ArrayList
使用 ArrayList 构造函数 在这个方法中,我们将 TreeSet 作为参数传递给 ArrayList Constructor
List<String> list = new ArrayList<String>(trreset);
阅读参考文献 How to Convert a TreeSet to ArrayList
中的更多详细信息使用 AddAll() 方法 这样我们将使用 addAll() 方法将 TreeSet 添加到 ArrayList 中
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.addAll(treeSet);
迭代TreeSet,将元素一一添加到ArrayList中。