我有一个地图:
我尝试使用比较器:
但是输出结果并不完全正确,它输出的是:
TreeMap<String, Integer> m = new TreeMap<>();
,其中包含整个字母表和值,显示每个字母在我的文本中出现的次数。我想按降序对该地图进行排序;也就是说,出现最频繁的字母位于第一行,输出的最后一行表示出现最少的字母。如果两个字母具有相同的频率,则字母表中先出现的字母必须先出现。如何实现呢?我尝试使用比较器:
public int compare(String a, String b) {
if (base.get(a) >= base.get(b) && a.compareToIgnoreCase(b) < 0) {
return -1;
} else {
return 1;
}
}
但是输出结果并不完全正确,它输出的是:
D 3
E 3
A 2
S 5
大家好...之前发现这个,但并没有起到帮助作用。良好的输出应该是:
S 5
D 3
E 3
A 2