我知道当实现Comparator接口的compare方法时我们需要返回
如果 o1 > o2,+1
-1 如果 o1 < o2
0 如果 o1 == o2
我的问题是为什么当两者相等时我们需要返回 0?用例是什么或在哪里使用?如果我们考虑当o2大于o1或o2等于o1时排序不会改变它的位置。谁能来解释一下实际用例吗?
Java 文档说
比较其两个参数的顺序。当第一个参数小于、等于或大于第二个参数时,返回负整数、零或正整数。
这是否意味着 return -1 或 return 0 具有相同的影响?
零或正整数
@Override
public int compare(Test f1, Test f2) {
if (f1.getId() > f2.getId()) {
return 1;
} else if (f1.getId() < f2.getId()) {
return -1;
} else {
return 0;
}
}
ITMISS
素胚勾勒不出你
小唯快跑啊
相关分类