0

値を降順でソートするためのマップ実装が以下にあり、以下の実装を使用しました。

public static Map<String,Integer> sortByComparator(Map<String,Integer> unsortMap) {

    List list = new LinkedList(unsortMap.entrySet());

    //sort list based on comparator
    Collections.sort(list, new Comparator() {
        public int compare(Object o1, Object o2) {
            return ((Comparable) ((Map.Entry) (o2)).getValue())
                    .compareTo(((Map.Entry) (o1)).getValue());
        }
    });

    //put sorted list into map again
    Map sortedMap = new LinkedHashMap();
    for (Iterator it = list.iterator(); it.hasNext();) {
        Map.Entry entry = (Map.Entry)it.next();
        sortedMap.put(entry.getKey(), entry.getValue());
    }
    return sortedMap;
}   

これは必要な機能を果たします..しかし、ツリーマップを使用してこれを降順でソートできるかどうか知りたいです

4

2 に答える 2

0

TreeMap はキーの順序でソートし、値でソートしているため、そうする必要はありません。

于 2012-07-27T21:20:52.360 に答える
0

いいえ、ツリーマップのソート順はキーに基づいています。他のすべてのソート要件は、あなたと同じように実装する必要があります。

于 2012-07-27T21:21:31.337 に答える