功能:list中的元素为Person类型,需要根据list中的age属性升序排列,如果age属性的值相同则保持list原有的顺序
如果需要降序,修改demo2中return的代码 为如下代码即可
return o2.getAge() - o1.getAge();
public class CompareToDemo {
public static void main(String[] args) {
demo();
}
public static void demo(){
Person p1 = new Person("张三", 12);
Person p2 = new Person("李四", 15);
Person p3 = new Person("李五", 12);
Person p4 = new Person("李六", 17);
Person p5 = new Person("李七", 12);
List<Person> list = new ArrayList<>();
list.add(p3);
list.add(p2);
list.add(p1);
list.add(p4);
list.add(p5);
demo2(list);
for (Person p : list) {
System.out.println("姓名:"+p.getName()+" 年龄:"+p.getAge());
}
}
public static void demo2(List<Person> list){
Collections.sort(list, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.getAge() - o2.getAge();
}
});
}
}