java - 如何对类对象列表的某个字段进行排序?

标签 java class sorting comparator

我有一个 DataPoint 对象列表。类定义为:

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

         public String text; 

               ...
          }

“list”是 DataPoint 对象的 ArrayList。如何仅根据 X 值对列表进行排序?这里会使用 Collections.sort(list, comparator) 吗?

最佳答案

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

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

关于java - 如何对类对象列表的某个字段进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14093883/

相关文章:

java - 如何编写一个程序将二进制数转换为十进制数而不使用 lang 类?

c++ - 隐藏/虚函数使用 C++

javascript - 不同对象的方法无法同时执行(D3.js)

javascript - 对数字和字母元素的数组进行排序(自然排序)

java - Android:使用 ActionBar 时出现 NullPointerException

java - Java的日期计算方法

java - 使用 JAXB 从 XML 文件中提取值

java - 如何在 React Native 中重建 java 文件?

c# - 方法中类名的别名

swift - 在 Swift 3 中排序字典