I want to use the Comparator object of the Collections framework to sort out an ArrayList by an specific attribute.
我想使用Collections框架的Comparator对象来按特定属性对ArrayList进行排序。
I have an ArrayList called measureEviArray
this array contains objects type MeasureEvi
.
我有一个名为measureEviArray的ArrayList,这个数组包含对象类型MeasureEvi。
The class MeasureEvi
has an attribute called mCoordenate
which corresponds to a PointF data type.
MeasureEvi类有一个名为mCoordenate的属性,它对应于PointF数据类型。
public class MeasureEvi {
private int mIndex; //
private int mOrderIndex;
private int eIndex; //
private TextView mTag; //
private PointF mCoordenate;
}
What I want is to sort out that array depending on the coordenates given to each object in X (mCoordenate.x
)
我想要的是根据X中每个对象的coordenates来排序该数组(mCoordenate.x)
Is it possible to use Collections for this and get an Array Ordenate from the minor to the greatest in X axis?
是否可以为此使用集合并从X轴中获取从次要到最大的数组Ordenate?
I was trying to implement this way:
我试图以这种方式实现:
Collections.sort(measureEviArray, new Comparator<MeasureEvi>() {
@Override
public int compare(MeasureEvi measureEvi, MeasureEvi t1) {
return measureEvi.getmCoordenate().x.compareTo(t1.getmCoordenate().x);
}
});
but compareTo is not an Option, cannot resolve method.
但是compareTo不是Option,无法解析方法。
1 个解决方案
#1
2
Since x
from PointF
is a float
, use Float.compare(float f1, float f2)
:
由于PointF中的x是浮点数,因此使用Float.compare(float f1,float f2):
return Float.compare(measureEvi.getmCoordenate().x, t1.getmCoordenate().x);
#1
2
Since x
from PointF
is a float
, use Float.compare(float f1, float f2)
:
由于PointF中的x是浮点数,因此使用Float.compare(float f1,float f2):
return Float.compare(measureEvi.getmCoordenate().x, t1.getmCoordenate().x);