• java——集合——Collections工具类——Collections集合工具类的方法——sort(List)


    Collection集合工具类的方法二

    java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:
    public staticvoid sort(Listlist):将集合中元素按照默认规则排序。

    • 注意:
      sort(Listlist)使用前提
      被排序的集合里边存储的元素,必须实现Comparable,重写接口中的方法compareTo定义排序的规则

    • Comparable接口的排序规则:
      自己(this)-参数:升序


    public class Demo02Sort {
        public static void main(String[] args) {
            ArrayList<Integer> list01 = new ArrayList<>();
            list01.add(1);
            list01.add(3);
            list01.add(2);
            System.out.println(list01);//[1, 3, 2]
    
            //public static <T> void sort(List<T> list):将集合中元素按照默认规则排序。
            Collections.sort(list01);//默认是升序
    
            System.out.println(list01);//[1, 2, 3]
    
            ArrayList<String> list02 = new ArrayList<>();
            list02.add("a");
            list02.add("c");
            list02.add("b");
            System.out.println(list02);//[a, c, b]
    
            Collections.sort(list02);
            System.out.println(list02);//[a, b, c]
    
            ArrayList<Person> list03 = new ArrayList<>();
            list03.add(new Person("张三",18));
            list03.add(new Person("李四",20));
            list03.add(new Person("王五",15));
            System.out.println(list03);//[Person{name='张三', age=18}, Person{name='李四', age=20}, Person{name='王五', age=15}]
    
            Collections.sort(list03);
            System.out.println(list03);
        }
    }
    
    
    

    排序自定义的泛型

    package com.itheima.demo05.Collections;
    
    public class Person implements Comparable<Person>{
        private String name;
        private int age;
    
        public Person() {
        }
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", 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(Person o) {
            //return 0;//认为元素都是相同的
            //自定义比较的规则,比较两个人的年龄(this,参数Person)
            //return this.getAge() - o.getAge();//年龄升序排序
            return o.getAge() - this.getAge();//年龄升序排序
        }
    }
    
     
  • 相关阅读:
    服务器×××上的MSDTC不可用解决办法
    安装VS2010后,更改iis的asp.net版本
    刷新后 页面 保持滚动条位置
    Atitit.java 反编译 工具  attilax 总结
    Atitit.收银系统模块架构attilax 总结
    Atitit.论垃圾文件的识别与清理 文档类型垃圾文件 与api概要设计pa6.doc
    atitit.guice3 绑定方式打总结生成非单例对象toInstance toProvider区别 v2 pb29
    Atitit. Derby的使用总结attilax
    Atitit.attilax的 case list 项目经验 案例列表
    Atitit.收银系统pos 以及打印功能的行业标准
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/16906798.html
Copyright © 2020-2023  润新知