HashMap
を設定し、TreeMap
に渡してKey
の値で自然順に並べ替えるためのコードです。HashMapを使用し、TreeMapを降順キー値で使用して並べ替え
Map<Integer, String[]> hashMap = new HashMap<Integer, String[]>();
hashMap.put(3, new String[]{"1","2"});
hashMap.put(2, new String[]{"1","2"});
hashMap.put(4, new String[]{"1","2"});
hashMap.put(1, new String[]{"1","2"});
System.out.println(hashMap);
Map<Integer, String[]> treeMap = new TreeMap<Integer, String[]>(hashMap);
System.out.println(hashMap); // Natural Order, Ascending
今私の問題は、どのように私は私のtreeMap
Descending
で順番を並べ替えることができ、ありますか?私はKeyComparator
という名前のComparatorクラスを準備しています。このクラスは降順に並べ替えられます(Key
)。ここでは以下の私のコードは次のとおりです。
public class KeyComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
if (o1 < o2) {
return 1;
} else if (o1 > o2) {
return -1;
} else {
return 0;
}
}
}
TreeMap
は、たとえばTreeMap(new KeyComparator(),hashMap)
のためのようには2パラメータ化コンストラクタを持っていません。 KeyComparator
クラスを同時に使用してhashMap
をtreeMap
に読み込むにはどうすればいいですか?
を微調整する必要があります'new TreeMap(hashMap).descendingMap()' –