排序是实际中常用的一种需求。具体针对某类对象,也经常需要对对象进行排序。 下面給出一个简单的例子,使用匿名内部类实现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新闻热点
疑难解答