我想使用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 不是选项,无法解析方法。
最佳答案
自 x
来自 PointF
是一个float
,使用Float.compare(float f1, float f2)
:
return Float.compare(measureEvi.getmCoordenate().x, t1.getmCoordenate().x);
关于java - 使用集合对数组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43595022/