ArrayList按照元素的特性排序
jiahut 发布于 2010年11月24日 11时
import java.util.ArrayList;import java.util.Collections;import java.util.Comparator; public class ArrayListSort { public static void main(String[] args) { ArrayList<Person> persons = new ArrayList<Person>(); Person zhangsan = new Person("zhangsan", 20, true); Person lisi = new Person("lisi", 21, true); Person wangwu = new Person("wangwu", 18, false); persons.add(zhangsan); persons.add(lisi); persons.add(wangwu); Collections.sort(persons, new Comparator<Person>() { @Override public int compare(Person o1, Person o2) { if (o1 != null && o2 != null) { if (o1.getAge() > o2.getAge()) { return 1; } else if (o1.getAge() < o2.getAge()) { return -1; } } return 0; } }); for (Person p : persons) { System.out.println(p); } } }class Person { private String name; private int age; private boolean sex; public Person() { } public Person(String name, int age, boolean sex) { this.name = name; this.age = age; this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } @Override public String toString() { return "name=" + name + "\tage=" + age + "\tsex" + sex; } }