将TreeSet转换为ArrayList?

时间:2012-02-17 03:18:22

标签: java arraylist treeset

我有一个包含>的TreeSet 100k物体。 我有另一种方法,需要ArrayList作为参数。

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

4 个答案:

答案 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

  1. 使用 ArrayList 构造函数 在这个方法中,我们将 TreeSet 作为参数传递给 ArrayList Constructor

    List<String> list = new ArrayList<String>(trreset);
    

阅读参考文献 How to Convert a TreeSet to ArrayList

中的更多详细信息
  1. 使用 AddAll() 方法 这样我们将使用 addAll() 方法将 TreeSet 添加到 ArrayList 中

    ArrayList<String> arrayList = new ArrayList<String>();
    arrayList.addAll(treeSet);
    
  2. 迭代TreeSet,将元素一一添加到ArrayList中。