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;
}
}
posted @ 2020-10-15 19:46  这就是昵称918  阅读(461)  评论(2编辑  收藏  举报