0
以下のコードを使用して、値でハッシュマップをソートします。しかし、1つの値に対して1つのエントリしか保持せず、重複した値を持つ別のエントリを削除するため、結果は混乱しているようです。 ここComparator
コードです:なぜ、重複した値を持つ異なるキーが、ハッシュマップをツリーマップに転送するときに消えますか
class ValueComparator implements Comparator {
Map map;
public ValueComparator(Map map) {
this.map = map;
}
public int compare(Object keyA, Object keyB) {
Comparable valueA = (Comparable) map.get(keyA);
Comparable valueB = (Comparable) map.get(keyB);
return valueB.compareTo(valueA);
}
そして、ここで私はそれを使用する方法です:完璧な理にかなっている
TreeMap sortedMap=new TreeMap(new ValueComparator(allCandidateMap));
sortedMap.putAll(allCandidateMap);