2017-01-02 16 views
-1

Listを値として持つJavaマップを効率的にソートする方法はありますか? 私は文字列をキーとして持っており、オブジェクトリストにある値をソートしようとしています。ソートマップ<String、List <Object[]>>

Map<String, List<Object[]>> liste = new TreeMap<String, List<Object[]>>(); 
+0

マップの各エントリについて、値(リスト)を並べ替えたいですか? – user152468

+0

ソートする必要があるサンプルデータと、どのような基準でデータを提供しますか? –

+0

まさしく、私はそれらを整数値であるid値でソートする必要があります。 各キーについて、私はオブジェクトリストにIntegerとStringの値を持っています。最も低い数値から最も高い数値までidでソートする必要があります – user2489847

答えて

1

これは、配列の最初のエントリにIntegerオブジェクトによってリストをソートします:

for (List<Object[]> list : liste.values()) { 
     list.sort(Comparator.comparingInt(arr -> ((Integer) arr[0]).intValue())); 
    } 

あなたがが、適切にあなたの設計作業を行っていないように私には思えますか?ほとんどのアプリケーションでは、Object[]を使用する必要はありません。 int(またはIntegeridなどのフィールドを使用して、独自のクラスを設計することをおすすめします。また、あなたのデータと要件が私には完全にはっきりしていないので、私はあなたと同じ道にいるといいですね。

+0

はい、助けました。たくさんのtnx – user2489847

関連する問題