在比较功能中,当值相等时,您应该再比较键。这将确保具有相同值的不同键不会被“合并”,因为它消除了本来比较相等的条目的歧义。
例如:
@Override public int compare(String a, String b) { Integer x = base.get(a); Integer y = base.get(b); if (x.equals(y)) { return a.compareTo(b); } return x.compareTo(y); }
(您需要修改上面的代码以匹配空值策略)
请注意,但是,按值排序的方法非常脆弱。您的“已排序”地图将不支持添加新条目,这可能会造成混乱。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)