如何将一个集合转换为列表?

348
我正在使用Apache Collections库中的TreeBidiMap。我想按值排序,这些值是doubles
我的方法是使用以下代码检索值的Collection
Collection coll = themap.values();

自然地运行良好。

主要问题:我现在想知道如何将coll转换/强制转换(不确定哪个是正确的)为List,以便可以对其进行排序?

然后,我打算迭代已排序的List对象,它应该是有序的,并使用themap.getKey(iterator.next())TreeBidiMap (themap)获取适当的键,其中迭代器将遍历doubles列表。


5
你可以通过直接使用某种SortedMap来避免这一步骤,使得条目按照使用的键的自然顺序排序。Java自带的TreeMap实现了SortedMap接口。 - Axel Knauf
TreeBidiMap是一个OrderedMap,顺序应该没问题。问题所需的排序是基于值而不是键。 - Vlasec
11个回答

-5

这里有一个不太优化的解决方案,可以用一行代码实现:

Collections.list(Collections.enumeration(coll));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接