美文网首页
Java中的Collections类常用语法--针对List集合

Java中的Collections类常用语法--针对List集合

作者: 夜希辰 | 来源:发表于2021-05-04 16:12 被阅读0次

学习笔记:Collections类语法记录
Collections是针对List集合操作的工具类,此类仅包含静态方法。使用该类的方法时,可以类名.方法名

//Collections构造方法
private Collections() {
    }
Collections常用方法
  • public static <T> void sort(List<T> list, Comparator<? super T> c):将指定的列表按照升序排序
  • public static void reverse(List<?> list):反转指定列表中的序列
  • public static void shuffle(List<?> list):使用默认的随机源随机排列指定的列表
//Collections常用方法测试
public class CollectionsDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("java");
        list.add("刘备");
        list.add("张三");
        list.add("javaee");

        System.out.println(list);

        Collections.reverse(list);
        System.out.println("list反转后:"+ list);//[javaee, 张三, 刘备, java]
        Collections.sort(list);
        System.out.println("list排序后:"+ list);//[java, javaee, 刘备, 张三]
        Collections.shuffle(list);
        
    }
}
问题

对学生类集合排序时,重写了Comparator方法。还看不懂

public class CollectionsDemo {
    public static void main(String[] args) {
    //创建集合对象
        ArrayList<Student> array = new ArrayList<Student>();

        //创建学生对象
        Student s1 = new Student("linqingxia",32);
        Student s2 = new Student("fengqingyang",45);
        Student s3 = new Student("liubei",20);
        Student s4 = new Student("zhangfei",27);

        //把学生添加到集合对象
        array.add(s1);
        array.add(s2);
        array.add(s3);
        array.add(s4);

        //使用collections 对集合进行排序
        //sort(list<T> list,Comparator<? super T> c>
        Collections.sort(array, new Comparator<Student>() {
            @Override
            public int compare(Student s1, Student s2) {
                //要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母进行排序
                int num = s1.getAge() - s2.getAge();
                int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num;
                return num2;
            }
        });


        //6、遍历集合
        for(Student s : array){
            System.out.println(s.getAge() +"," + s.getName());
        }

    }
}

相关文章

网友评论

      本文标题:Java中的Collections类常用语法--针对List集合

      本文链接:https://www.haomeiwen.com/subject/frgcdltx.html