私TreeBidiMap
はから使用していますApache コレクションライブラリ。これを の値で並べ替えたいですdoubles
。
私の方法は、次Collection
を使用して値を取得することです。
Collection coll = themap.values();
それは当然ながらうまく機能します。
主な質問:coll
どのように変換/キャスト (どちらが正しいかはわかりません)List
してソートできるかを知りたいのですが。
次に、順序どおりになっているソート済みオブジェクトを反復処理し、反復子が のリスト全体にわたって実行される( ) を使用して、 ( )List
から適切なキーを取得します。TreeBidiMap
themap
themap.getKey(iterator.next())
doubles
ベストアンサー1
List list = new ArrayList(coll);
Collections.sort(list);
Erel Segal Halevi が以下で述べているように、coll がすでにリストである場合は、手順 1 をスキップできます。ただし、これは TreeBidiMap の内部に依存します。
List list;
if (coll instanceof List)
list = (List)coll;
else
list = new ArrayList(coll);