package com.itheima.demo05.Collections;

import java.util.ArrayList;
import java.util.Collections;

/*

- java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:    public static <T> void sort(List<T> list):将集合中元素按照默认规则排序。注意:     sort(List<T> list)使用前提     被排序的集合里边存储的元素,必须实现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;}@Overridepublic 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;}//重写排序的规则@Overridepublic int compareTo(Person o) {    //return 0;//认为元素都是相同的    //自定义比较的规则,比较两个人的年龄(this,参数Person)    //return this.getAge() - o.getAge();//年龄升序排序    return o.getAge() - this.getAge();//年龄升序排序}

}