如何将集合转换为列表?

我正在使用Apache Collections库。我想根据.TreeBidiMapdoubles

我的方法是使用以下命令检索一个值:Collection

Collection coll = themap.values();

这自然工作正常。

主要问题:我现在想知道如何将/投射(不确定哪个是正确的)转换为可以排序?collList

然后,我打算迭代排序的对象,该对象应该是有序的,并使用迭代器在 列表中的位置从 () 中获取适当的键。ListTreeBidiMapthemapthemap.getKey(iterator.next())doubles


答案 1
List list = new ArrayList(coll);
Collections.sort(list);

正如Erel Segal Halevi在下面所说,如果coll已经是一个列表,你可以跳过第一步。但这将取决于TreeBidiMap的内部结构。

List list;
if (coll instanceof List)
  list = (List)coll;
else
  list = new ArrayList(coll);

答案 2

像这样的东西应该可以工作,调用采用集合的 ArrayList 构造函数

List theList = new ArrayList(coll);

推荐