Listを値として持つJavaマップを効率的にソートする方法はありますか? 私は文字列をキーとして持っており、オブジェクトリストにある値をソートしようとしています。ソートマップ<String、List <Object[]>>
Map<String, List<Object[]>> liste = new TreeMap<String, List<Object[]>>();
Listを値として持つJavaマップを効率的にソートする方法はありますか? 私は文字列をキーとして持っており、オブジェクトリストにある値をソートしようとしています。ソートマップ<String、List <Object[]>>
Map<String, List<Object[]>> liste = new TreeMap<String, List<Object[]>>();
これは、配列の最初のエントリにInteger
オブジェクトによってリストをソートします:
for (List<Object[]> list : liste.values()) {
list.sort(Comparator.comparingInt(arr -> ((Integer) arr[0]).intValue()));
}
あなたがが、適切にあなたの設計作業を行っていないように私には思えますか?ほとんどのアプリケーションでは、Object[]
を使用する必要はありません。 int
(またはInteger
)id
などのフィールドを使用して、独自のクラスを設計することをおすすめします。また、あなたのデータと要件が私には完全にはっきりしていないので、私はあなたと同じ道にいるといいですね。
はい、助けました。たくさんのtnx – user2489847
マップの各エントリについて、値(リスト)を並べ替えたいですか? – user152468
ソートする必要があるサンプルデータと、どのような基準でデータを提供しますか? –
まさしく、私はそれらを整数値であるid値でソートする必要があります。 各キーについて、私はオブジェクトリストにIntegerとStringの値を持っています。最も低い数値から最も高い数値までidでソートする必要があります – user2489847