本文介绍了如何排序在Java对象(点)的阵列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我想用那种点的阵列内置的排序方法,按特定的坐标,例如x。我怎样才能做到这一点?下面有一个样本code:

So I wanna sort an array of Points using the built in sorting method, by a specific coordinate, say x. How can I do this? Heres a sample code:

Point A[] = new Point[10];
// ... Initialize etc.
Arrays.sort(A, x-coordinate);

有没有在点类x坐标内置比较器?如果没有,我怎么可以创建一个并使用它。一个例子将是巨大的。

Is there a built-in comparator for x-coordinates in Point Class? If not, how can I create one and use it. An example would be great.

感谢。

推荐答案

不是可比,所以你会需要编写自己的比较,并通过它调用 Arrays.sort 时英寸幸运的是,这不是太难:

Point isn't Comparable so you'll need to write your own comparator and pass it in when calling Arrays.sort. Luckily, that's not too hard:

class PointCmp implements Comparator<Point> {
    int compare(Point a, Point b) {
        return (a.x < b.x) ? -1 : (a.x > b.x) ? 1 : 0;
    }
}

Arrays.sort(A, new PointCmp());

这篇关于如何排序在Java对象(点)的阵列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 04:54