Android中的ArrayList<T>排序实现

直接上代码

public class Student{
    public int age;
    public double score;
    public String name;
}


public class StudentSortUtil {
    Comparator<Student> studentComparatorByAge = new Comparator<Student>() {
        @Override
        public int compare(Student lhs, Student rhs) {
            if(lhs.age > rhs.age) 
               return 1; 
           return -1;       //注意此处不是0
       } 
   };
    Comparator<Student> StudentComparatorByScore = new Comparator<Student>() {
        @Override
        public int compare(Student lhs, Student rhs) {
            if(lhs.score > rhs.score) 
               return 1; 
           return -1; 
       } 
   }; 

   public void sortByAge(ArrayList<Student> studentArray) { 
       Collections.sort(studentArray, studentComparatorByAge);
    }
    public void sortByScore(ArrayList<MovieBean> studentArray) {
        Collections.sort(studentArray, studentComparatorByScore); 
   }
}

//使用
ArrayList<Student> studentArray;
...
new StudentSortUtil().sortByScore(studentArray);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容