Reputation: 859
I want to use the Comparator object of the Collections framework to sort out an ArrayList by an specific attribute.
I have an ArrayList called measureEviArray
this array contains objects type MeasureEvi
.
The class MeasureEvi
has an attribute called mCoordenate
which corresponds to a PointF data type.
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
)
Is it possible to use Collections for this and get an Array Ordenate from the minor to the greatest in X axis?
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.
Upvotes: 1
Views: 124
Reputation: 159086
Since x
from PointF
is a float
, use Float.compare(float f1, float f2)
:
return Float.compare(measureEvi.getmCoordenate().x, t1.getmCoordenate().x);
Upvotes: 2