我需要根据它的值对我的树形图进行排序。我正在做的事情的要求是我必须使用排序地图。我在这里尝试了解决方案:按值(Java)对 Map<Key, Value> 进行排序,但是正如评论所说,这将使从我的地图中获取值不起作用。所以,我做了以下事情:
class sorter implements Comparator<String> {
Map<String, Integer> _referenceMap;
public boolean sortDone = false;
public sorter(Map<String, Integer> referenceMap) {
_referenceMap = referenceMap;
}
public int compare(String a, String b) {
return sortDone ? a.compareTo(b) : _referenceMap.get(a) >= _referenceMap.get(b) ? -1 : 1;
}
}
因此,我将 sortDone 设置为 false,直到完成对地图的排序,然后将 sortDone 切换为 true,以便正常比较事物。问题是,我仍然无法从我的地图中获取项目。当我执行 myMap.get(/ anything /) 时,它始终为空。
我也不明白与 equals even 不一致的比较器是什么意思。