Jhonycage
Jhonycage

Reputation: 859

Sorting out an array List using Collections

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

Answers (1)

Andreas
Andreas

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

Related Questions