Comment convertir une collection en liste ?

J'utilise TreeBidiMap de la bibliothèque [Apache Collections][1]. Je veux trier les valeurs qui sont des doubles.

Ma méthode consiste à récupérer une Collection de valeurs en utilisant :

Collection coll = themap.values();

Ce qui, naturellement, fonctionne bien.

Question principale: Je veux maintenant savoir comment je peux convertir/transférer (je ne suis pas sûr de ce qui est correct) coll dans une List pour qu'elle puisse être triée ?

J'ai ensuite l'intention d'itérer sur l'objet List trié, qui devrait être en ordre, et de récupérer les clés appropriées de la TreeBidiMap (themap) en utilisant themap.getKey(iterator.next()) où l'itérateur sera sur la liste des doubles.

[1] : https://commons.apache.org/proper/commons-collections/

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

Comme Erel Segal Halevi le dit ci-dessous, si coll est déjà une liste, vous pouvez sauter l'étape 1. Mais cela dépendrait des internes de TreeBidiMap.

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

Quelque chose comme ceci devrait fonctionner, en appelant le [constructeur de ArrayList][1] qui prend une Collection :

List theList = new ArrayList(coll);

[1] : http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#ArrayList-java.util.Collection-

Commentaires (3)
Collections.sort( new ArrayList( coll ) );
Commentaires (2)