public int compare(Integer a, Integer b) {
if (base.get(a) >= base.get(b)) {
return -1;
} else {
return 1;
} // returning 0 would merge keys
}
此比较器有缺陷,因为(除与之不一致之外
equals)它不满足表示
compare(a,b) > 0暗示的比较器协定,
compare(b,a) <0反之亦然。而且由于
TreeMap依赖于比较器返回0来查找您要尝试找到的密钥,
remove()所以它将永远无法删除任何内容-
无论您尝试使用哪种密钥并搜索映射,都永远不会认为该密钥存在。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)