将TreeSet转换为ArrayList?

pri*_*ank 20 java arraylist treeset

我有一个包含> 100k对象的TreeSet.我有另一种方法,需要ArrayList作为参数.

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

yeg*_*256 54

这个怎么样:

new ArrayList<T>(set);
Run Code Online (Sandbox Code Playgroud)

  • 这是你最好的.没有不需要线性时间的解决方案. (3认同)

Per*_*ion 5

ArrayList有一个很addAll合适的便捷方法:

final Set<Object> set = ...
List<Object> list = new ArrayList<Object>(someBigNum);
list.addAll(set);
Run Code Online (Sandbox Code Playgroud)

  • 可以设置someBigNum.size() (5认同)
  • someBigNum 在这里非常具有误导性......你不需要一个很大的数字。正如 kuldeep 指出的,你只需要 set.size() (3认同)