-5

name、phoneNo、Date、Age...などのキーを持つハッシュマップのArrayListがあります。

日付フィールドに従ってハッシュマップをソートしたい。

LinkedHashMapを使用する場合、ランダムな方法で値を取得しているため、これも役に立ちません。

取得するエントリの数がわからないため、HashMapの代わりにオブジェクトを使用することはできません。キーと値を動的に配置しています。

4

1 に答える 1

5

ハッシュマップで「日付」の値を選択し、それを使用して比較するコンパレータを作成する必要があります。

    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);
        }
    });

しかし、これは真剣にオブジェクト拒否のようなにおいがします。このデータの実際のオブジェクトを作成してみませんか?この並べ替えが頻繁に発生する場合は、比較可能にすることもできます。

于 2013-01-04T14:28:48.090 に答える