【问题标题】:Sorting out an array List using Collections使用 Collections 对数组 List 进行排序
【发布时间】:2017-09-21 13:03:40
【问题描述】:

我想使用 Collections 框架的 Comparator 对象,按特定属性对 ArrayList 进行排序。

我有一个名为 measureEviArray 的 ArrayList,此数组包含 MeasureEvi 类型的对象。

MeasureEvi 类有一个名为 mCoordenate 的属性,它对应于 PointF 数据类型。

public class MeasureEvi {

private int mIndex;                             //  
private int mOrderIndex;
private int eIndex;                             // 
private TextView mTag;                          // 
private PointF mCoordenate; 
}

我想要的是根据 X (mCoordenate.x) 中赋予每个对象的坐标来整理该数组

是否可以为此使用 Collections 并在 X 轴上从次要到最大获取 Array Ordenate?

我试图以这种方式实现:

 Collections.sort(measureEviArray, new Comparator<MeasureEvi>() {
        @Override
        public int compare(MeasureEvi measureEvi, MeasureEvi t1) {
            return measureEvi.getmCoordenate().x.compareTo(t1.getmCoordenate().x);
        }
    });

但 compareTo 不是选项,无法解析方法。

【问题讨论】:

  • xint 吗?如果是这样,请使用Integer.compare(x1, x2)

标签: java android arrays sorting


【解决方案1】:

由于来自PointFxfloat,所以使用Float.compare(float f1, float f2)

return Float.compare(measureEvi.getmCoordenate().x, t1.getmCoordenate().x);

【讨论】:

  • 你知道如果我用它来比较整数,它在 android
  • @Juanca 如果您查看Integer.compare(int x, int y) 的文档,您会看到“在API level 19 中添加”,并且点击该链接显示它是Android 4.4,所以没有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多