用Java排序的点数组

时间:2016-12-02 12:57:48

标签: java sorting

我有一个课程' Point'。我想对一系列点进行排序,但我想使用2"比较"函数(我想取2个数组,一个用X排序,另一个用Y排序)。 如何让我的班级接受2个比较功能?这是我的代码

static class Point implements Comparator<Point>{
    int x,y;
    int compareX(Point A , Point B){
        return A.x - B.x;
    }
    int compareY(Point A , Point B){
        return A.y - B.y;
    }
}

1 个答案:

答案 0 :(得分:3)

不是让Point实现Comparator,而是有2个Comparator常量,分别用x和y进行比较。

static class Point {
  public static final Comparator<Point> X_COMPARATOR = Comparator.comparingInt(Point::getX);

  public static final Comparator<Point> Y_COMPARATOR = Comparator.comparingInt(Point::getY);
}