Java 使用集合排序数组列表
我想使用Collections框架的Comparator对象按特定属性对ArrayList进行排序 我有一个名为Java 使用集合排序数组列表,java,android,arrays,sorting,Java,Android,Arrays,Sorting,我想使用Collections框架的Comparator对象按特定属性对ArrayList进行排序 我有一个名为measureEviArray的数组列表。这个数组包含对象类型MeasureEvi 类MeasureEvi有一个名为mCoordenate的属性,该属性对应于一个PointF数据类型 public class MeasureEvi { private int mIndex; // private int mOrderInde
measureEviArray
的数组列表。这个数组包含对象类型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
)
是否可以使用集合进行此操作,并在X轴上从小到大获取数组Ordenate
我试图以这种方式实施:
Collections.sort(measureEviArray, new Comparator<MeasureEvi>() {
@Override
public int compare(MeasureEvi measureEvi, MeasureEvi t1) {
return measureEvi.getmCoordenate().x.compareTo(t1.getmCoordenate().x);
}
});
Collections.sort(measureEviArray,新的Comparator(){
@凌驾
公共整数比较(MeasureEvi MeasureEvi,MeasureEvi t1){
返回measureEvi.getmCoordenate().x.compareTo(t1.getmCoordenate().x);
}
});
但compareTo不是一个选项,无法解析方法。由于from是一个浮点值,请使用:
x
是int
吗?如果是这样,请使用Integer.compare(x1,x2)
。你知道如果我用这个来比较Integer,它在android<4.4中会工作吗?我得到以下观察:add@Requires API 4.4KITKAT@Juanca如果你看一下的文档,你会看到“added in”,下面的链接显示的是安卓4.4,所以不是。
return Float.compare(measureEvi.getmCoordenate().x, t1.getmCoordenate().x);