How to convert a Collection to List?

apache-commons-collection, collections, java, list, sorting

Solution

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

As Erel Segal Halevi says below, if coll is already a list, you can skip step one. But that would depend on the internals of TreeBidiMap.

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

Problem

I am using `TreeBidiMap` from the Apache Collections library. I want to sort this on the values which are `doubles`. My method is to retrieve a `Collection` of the values using: ``` Collection coll = themap.values(); ``` Which naturally works fine. Main Question: I now want to know how I can convert/cast (not sure which is correct) `coll` into a `List` so it can be sorted? I then intend to iterate over the sorted `List` object, which should be in order and get the appropriate keys from the `TreeBidiMap` (`themap`) using `themap.getKey(iterator.next())` where the iterator will be over the list of `doubles`.

Original source