name、phoneNo、Date、Age...などのキーを持つハッシュマップのArrayListがあります。
日付フィールドに従ってハッシュマップをソートしたい。
LinkedHashMapを使用する場合、ランダムな方法で値を取得しているため、これも役に立ちません。
取得するエントリの数がわからないため、HashMapの代わりにオブジェクトを使用することはできません。キーと値を動的に配置しています。
name、phoneNo、Date、Age...などのキーを持つハッシュマップのArrayListがあります。
日付フィールドに従ってハッシュマップをソートしたい。
LinkedHashMapを使用する場合、ランダムな方法で値を取得しているため、これも役に立ちません。
取得するエントリの数がわからないため、HashMapの代わりにオブジェクトを使用することはできません。キーと値を動的に配置しています。
ハッシュマップで「日付」の値を選択し、それを使用して比較するコンパレータを作成する必要があります。
Collections.sort(list, new Comparator<Map<String, Object>>() {
public int compare(Map<String, Object> map1, Map<String, Object> map2) {
Date date1 = (Date) map1.get("Date");
Date date2 = (Date) map2.get("Date");
return date1.compareTo(date2);
}
});
しかし、これは真剣にオブジェクト拒否のようなにおいがします。このデータの実際のオブジェクトを作成してみませんか?この並べ替えが頻繁に発生する場合は、比較可能にすることもできます。