> 文档中心 > Collections类是针对集合操作的工具类

Collections类是针对集合操作的工具类


Collections类是针对集合操作的工具类

两种方法!!!!!

图:柏维怡我爱你

方法1:

图:
柏维怡我爱你
代码实现
Student类(重点一定要仔细看)

package Demo;public class Student implements Comparable<Student> {//实现了该接口Comparable    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;    }    @Override    public int compareTo(Student o) {    //主   学号之间 int num=this.age-o.age;    //次   名字之间 int num2=num==0?this.name.compareTo(o.name) : num; return num2;    }}

Demo类

package Demo;import java.util.*;public class Demo {    public static void main(String[] args) { //创建ArraysList集合对象 ArrayList<Student> s = new ArrayList<>(); //创建学生对象 Student s1 = new Student("iKun",27); Student s2 = new Student("myy",22); Student s3 = new Student("fyy",23); //把学生添加集合中 s.add(s1); s.add(s2); s.add(s3); //使用Collections中的sort方法对ArraysList集合排序 //static  void sort(List list, Comparator c) 根据指定的比较器引起的顺序对指定的列表进行排序 Collections.sort(s); //遍历集合 for (Student x:s) {     System.out.println(x.getName()+","+x.getAge()); }    }}

方法2:

图:
柏维怡我爱你

  • static void sort(List list, Comparator c) 根据指定的比较器引起的顺序对指定的列表进行排序
    代码实现
    Demo类(重点一定要仔细看)
package Demo;import java.util.*;public class Demo {    public static void main(String[] args) { //创建ArraysList集合对象 ArrayList<Student> s = new ArrayList<>(); //创建学生对象 Student s1 = new Student("iKun",27); Student s2 = new Student("myy",22); Student s3 = new Student("fyy",23); //把学生添加集合中 s.add(s1); s.add(s2); s.add(s3); //使用Collections中的sort方法对ArraysList集合排序 //static  void sort(List list, Comparator c) 根据指定的比较器引起的顺序对指定的列表进行排序 // 匿名类 Collections.sort(s, new Comparator<Student>() {     @Override     public int compare(Student o1,Student o2) {  //主    学号之间    int num = o1.getAge()-o2.getAge();  //次    名字之间  int num2=num==0?o1.getName().compareTo(o2.getName()):num;  return num2;     } }); //遍历集合 for (Student x:s) {     System.out.println(x.getName()+","+x.getAge()); }    }}

原因:
柏维怡我爱你
Student类

package Demo;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;    }    }

输出的结果
myy,22
fyy,23
iKun,27