/*
* 题目3:
* 已知User类,该类有name(String类型)和age(int类型)两个属性,
* 请编写代码实现ArrayList<User>排序,
* 要求按照User对象的age的倒序排序。(禁止使用Collections.sort() 和 TreeSet)
*
* 结果正确,没投机取巧满分,不能运行0分
*
* 创建完整的User类 =3分=
* 创建几个User的实例存入ArrayList =1分=
* 可以按年龄倒序排序 =6分=
* 实现排序,但是是正序 =扣3分=
*/
public class Test4 {
public static void main(String[] args) {
// demo1();
/*ArrayList<Integer> al = new ArrayList<>();
al.add(1);
al.add(11);
al.add(9);
al.add(6);
al.add(3);
Collections.sort(al);
System.out.println(al);*/
ArrayList<User> al = new ArrayList<>();
al.add(new User("希尔瓦纳斯", 20));
al.add(new User("奈文摩尔", 21));
al.add(new User("奥蕾莉亚", 19));
al.add(new User("污妖王", 22));
Collections.sort(al, new Comparator<User>() {
@Override
public int compare(User o1, User o2) {
int num = o2.getAge() - o1.getAge();
return num == 0 ? o2.getName().compareTo(o1.getName()) : num;
}
});