Πώς να μετατρέψετε μια Συλλογή σε Λίστα;

Χρησιμοποιώ το TreeBidiMap από τη βιβλιοθήκη Apache Collections. Θέλω να το ταξινομήσω στις τιμές που είναι διπλάσια.

Η μέθοδός μου είναι να ανακτήσω μια Collection των τιμών χρησιμοποιώντας:

Collection coll = themap.values();

Το οποίο φυσικά λειτουργεί μια χαρά.

Κύρια Ερώτηση: Τώρα θέλω να μάθω πώς μπορώ να μετατρέψω/μετατρέψω (δεν είμαι σίγουρος ποιο είναι το σωστό) το coll σε μια List ώστε να μπορεί να ταξινομηθεί?

Στη συνέχεια σκοπεύω να επαναλάβω το ταξινομημένο αντικείμενο List, το οποίο θα πρέπει να είναι σε σειρά και να πάρω τα κατάλληλα κλειδιά από το TreeBidiMap (themap) χρησιμοποιώντας themap.getKey(iterator.next()) όπου ο επαναλήπτης θα είναι πάνω από τη λίστα των doubles.

Λύση
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);
Σχόλια (3)

Κάτι τέτοιο θα πρέπει να δουλέψει, καλώντας τον ArrayList constructor που παίρνει μια Collection:

List theList = new ArrayList(coll);
Σχόλια (3)