天天看点

Android---对自定义类型的list<A>排序

有时我们需要对自定义类型的list中,以某一个关键词的内容进行排序,比如一个记录个人信息List< person >,如果我们需要将表中的个人信息按年龄的大小进行从小到大的排序就需要用到下面的方法(方法很多这里只是一种)。

第一步 创建自己的列表

1.自定义你的实体类
2.List<person>  A=new ArrayList<person>;
3.给A赋值
           

第二步 调用排序的内部类方法

Collections.sort(A, new ComparatorValues());
           

第三步 实现排序的内部类

class ComparatorValues implements Comparator<person> {

        @Override
        public int compare(person m1, person m2) {
            // TODO Auto-generated method stubll
            int result = ;//result的值将决定person1和person2是否交换位置,这里是初始化result的值
            int old1=m1.getOld;
            int old2=m2.gerOld;
            if (old1> old2) {
                    result = ;//当result的值是1,交换两个person的位置。
                }
            if (old1 < old2) {
                    result = -;//当result的值是-1,保持它俩的顺序
                }

            }
            return result;
        }

    }