给出以下课程:
class Boo {
private final String propertyX;
private final Double propertyY;
private final Integer propertyZ;
}
如何在Comparator
上调用Collection.sort(...)
时,如何构建一个Collection<Boo>
来导致类的实例被propertyX排序,然后是propertyY,然后是propertyZ。 / p>
是Comparator
的方法吗?
答案 0 :(得分:4)
你真的按照你的意思行事。
Comparator<Boo> booCmp = new Comparator<Boo>() {
@Override
public int compare(Boo o1, Boo o2) {
int cmp = o1.propertyX.compareTo(o2.propertyX);
if (cmp == 0)
cmp = o1.propertyY.compareTo(o2.propertyY);
if (cmp == 0)
cmp = o1.propertyZ.compareTo(o2.propertyZ);
return cmp;
}
};
答案 1 :(得分:0)
propertyX
,然后propertyY
的自定义比较器即可。将此比较器与Collections.sort()
或Arrays.sort()
一起使用