我只想使用Collections.sort或Arrays.sort按x先排序列表(class Point),然后按y排序。如何排序数组或ArrayList <Point> ASC首先由x再由y?
我有一个先斗类实现可比这样的:
public int compareTo(Ponto obj) {
Ponto tmp = obj;
if (this.x < tmp.x) {
return -1;
} else if (this.x > tmp.x) {
return 1;
}
return 0;
}
但现在我想通过Y X后也进行排序。
我该怎么做,通过修改上面的代码?或者,这是一个更好和“干净”的方式来做到这一点? 我也用这个代码传递给C++,其中我创建了一个名为Point的结构,并带有一个等效的可比较方法。
什么是'this.x'的类型,是int,float,double ...? – fredoverflow 2010-04-30 13:59:32
x和y是整数。我只创建了Ponto类来实现Comparable <>接口,并且使用x,y整数而不是double。我已经看到了下面的建议。也感谢你的贡献。 – neverMind 2010-04-30 15:48:28