ArrayList集合存储学生对象并按年级排序,若年龄相同,则按姓名首字母排序

public class StudentDemo {
public static void main(String[] args) {
ArrayList<Students> arrayList = new ArrayList<>();
arrayList.add(new Students("张三",14));
arrayList.add(new Students("李四",12));
arrayList.add(new Students("王五",16));
arrayList.add(new Students("哎六",16));
for (Students s:arrayList){
System.out.println(s.getName()+s.getAge());

}


}
}


public class Students  implements Comparable<Students>{
private String name;
private int age;

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 Students() {
}

public Students(String name, int age) {
this.name = name;
this.age = age;
}

@Override
public int compareTo(Students s) {
int num=this.getAge()-s.getAge();//按照年龄升序排序
int num1=num==0?this.name.compareTo(s.name):num;//若年龄相同时,按照名字首字母排序
return num1;
}
}
原文地址:https://www.cnblogs.com/gzy918/p/13822515.html