getValue()得到double类型的数据,由于项目需要可能会小于1,以下代码不能得出比较结果。
public int compare(Map.Entry o1, Map.Entry o2) {
return (int) ((double) o1.getValue()- (double) o2.getValue());
}
将数值扩大倍数后再比较,解决问题。
public int compare(Map.Entry o1, Map.Entry o2) {
return (int) ((double) o1.getValue()*10000 - (double) o2.getValue()*10000);
}