Ik gebruik TreeBidiMap
van de Apache Collections bibliotheek. Ik wil deze sorteren op de waarden die dubbel
zijn.
Mijn methode is om een Collectie
van de waarden op te halen met:
Collection coll = themap.values();
Wat natuurlijk prima werkt.
Hoofdvraag: Ik wil nu weten hoe ik coll
kan converteren/castten (weet niet zeker wat juist is) naar een List
zodat deze gesorteerd kan worden?
Ik ben dan van plan om te itereren over het gesorteerde Lijst
object, die op volgorde moet zijn en de juiste sleutels te krijgen van de TreeBidiMap
(themap
) met behulp van themap.getKey(iterator.next())
waarbij de iterator over de lijst van dubbels
zal gaan.
List list = new ArrayList(coll);
Collections.sort(list);
Zoals Erel Segal Halevi hieronder zegt, als coll al een lijst is, kun je stap één overslaan. Maar dat zou afhangen van de internals van TreeBidiMap.
List list;
if (coll instanceof List)
list = (List)coll;
else
list = new ArrayList(coll);
Zoiets als dit zou moeten werken, door de ArrayList constructor aan te roepen die een Collection neemt:
List theList = new ArrayList(coll);