如何根据android中的Integer大小对arrayList进行排序?

时间:2014-05-02 11:23:45

标签: java android sorting arraylist comparator

我使用“compareTo(String string);”对数组列表int项进行排序这个方法只比较字符串而不是int值。如何根据整数值对数组列表进行排序。

这是我的代码:

 Collections.sort(mAllSpeedsArray, new AllSpeedsComparator());

public class AllSpeedsComparator implements Comparator<AllSpeeds> {

@Override
public int compare(AllSpeeds lhs, AllSpeeds rhs) {
    // TODO Auto-generated method stub      
        return lhs.getSpeed().compareTo(rhs.getSpeed());        
    }
}

2 个答案:

答案 0 :(得分:3)

让AllSpeeds数据结构从int返回double(或getSpeed()或其他数字),或在两个字符串上使用Integer.parse(string)然后进行比较整数。

答案 1 :(得分:2)

这个怎么样

@Override
public int compare(AllSpeeds lhs, AllSpeeds rhs) {
    // TODO Auto-generated method stub      
    int a = Integer.parseInt(lhs.getSpeed());
    int b = Integer.parseInt(rhs.getSpeed());
    return a < b ? 1 : (a == b ? 0 : -1);
}