Използвам TreeBidiMap
от библиотеката Apache Collections. Искам да сортирам по стойностите, които са двойни
.
Моят метод е да извлека Колекция
от стойности, като използвам:
Collection coll = themap.values();
Което естествено работи добре.
Основен въпрос: Сега искам да знам как мога да конвертирам/кастна (не съм сигурен кое е правилно) coll
в List
, така че да може да се сортира?
След това възнамерявам да направя итерация над сортирания обект List
, който трябва да е подреден, и да получа съответните ключове от TreeBidiMap
(themap
), като използвам themap.getKey(iterator.next())
, където итераторът ще е над списъка с двойки
.
List list = new ArrayList(coll);
Collections.sort(list);
Както казва Ерел Сегал Халеви по-долу, ако вече има списък, можете да прескочите първата стъпка. Но това зависи от вътрешните настройки на TreeBidiMap.
List list;
if (coll instanceof List)
list = (List)coll;
else
list = new ArrayList(coll);
Нещо подобно би трябвало да работи, като се извика конструкторът ArrayList, който приема Collection:
List theList = new ArrayList(coll);
Collections.sort( new ArrayList( coll ) );