ArrayList集合存储学生对象并排序

  • Post author:
  • Post category:其他




需求:








ArrayList集合存储学生对象,使用Collections对ArrayList集合进行排序,排序要求:年龄从小到大,年龄相同时,按照姓名字母顺序排序。








//测试类

import java.util.*;

public class work{
    public static void main(String[] args){
        //创建ArrayList集合对象
        ArrayList<Student> list = new ArrayList<Student>();
        //存储学生对象
        list.add(new Student("林青霞",30));
        list.add(new Student("王宝强",33));
        list.add(new Student("风清扬",33));
        list.add(new Student("橙留香",10));
        //使用Collections方法对ArrayList集合进行排序
        Collections.sort(list, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                int num1 = o1.getAge() - o2.getAge();
                int num2 = num1 == 0? o1.getName().compareTo(o2.getName()):num1;
                return num2;
            }
        });
        //用加强for循环进行遍历
        for(Student s:list){
            System.out.println(s.getName()+","+s.getAge());
        }
    }
}



//学生类

public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name,int age) {
        this.name = name;
        this.age = 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;
    }
}



结果:



本人新手菜鸡一枚,请大佬们多多指教。



如果感觉此篇文章对你有帮助的话,请帮博主点一个免费的赞,谢谢大家!



版权声明:本文为feng_xi_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。