使用匿名内部类排序对象

来源:互联网 发布:数据库基础知识题库 编辑:程序博客网 时间:2024/06/07 15:42

排序是实际中常用的一种需求。具体针对某类对象,也经常需要对对象进行排序。
下面給出一个简单的例子,使用匿名内部类实现Comparator接口来进行排序。

public class Demo {    public static void TestForSort(List<Person> persons) {        Collections.sort(persons,new Comparator<Person>() {            @Override            public int compare(Person p1,Person p2) {                if(p1.age > p2.age) return 1;                else if (p1.age == p2.age) return 0;                else return -1;            }        });    }    public static void main(String[] args) {        Person p1 = new Person("Jack",18);        Person p2 = new Person("Lucy",20);        Person p3 = new Person("Bruce",19);        Person p4 = new Person("Lili",16);        List<Person> rawList = new ArrayList();        rawList.add(p1);        rawList.add(p2);        rawList.add(p3);        rawList.add(p4);        TestForSort(rawList);        for(Person p:rawList) {            System.out.println(p);        }    }}class Person {    String name;    int age;    public Person(String name,int age) {        this.name = name;        this.age = age;    }    @Override    public String toString() {        return name + ":" + age;    }}

运行上面的代码:

Lili:16Jack:18Bruce:19Lucy:20
0 0