如何在其中一个字段上对类对象列表进行排序?

Esh*_*osh 2 java sorting class comparator

我有一个DataPoint对象列表.类定义是:

public static class DataPoint
     {
         public Comparable X;
         public Comparable Y;
         public Comparable Z;

         public String text; 

               ...
          }
Run Code Online (Sandbox Code Playgroud)

"list"是DataPoint对象的ArrayList.如何仅对X值排序列表?会在这里使用Collections.sort(列表,比较器)吗?

Nik*_*zov 5

是的,您应该为每个字段创建特定的比较器.例:

Comparator<DataPoint> compByX = new Comparator<DataPoint>() {
    @Override
    public int compare(DataPoint left, DataPoint right) {
        return left.X.compareTo(right.X);
    }
};
Collections.sort(list, compByX);
Run Code Online (Sandbox Code Playgroud)