java Collections工具类

Collections是集合工具类,用来对单列集合进行操作的

static void shuffle(List<?> list)
使用默认的随机源随机排列指定的列表。

案例:

 ArrayList<Integer> integers = new ArrayList<>();
        integers.add(2);
        integers.add(1);
        integers.add(3);
        integers.add(4);
        integers.add(5);

        //打乱集合循序
        Collections.shuffle(integers);
        System.out.println(integers);
static <T extends Comparable<? super T>>  void sort(List<T> list)
根据其元素的natural ordering对指定的列表进行排序。

默认排序规则,要求集合元素的所属类必须实现Comparable接口,重写方法compareTo。

案例

class Person implements Comparable<Person>{
    private String name;
    private Integer age;

    public Person(){}
    public Person(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    @Override
    public int compareTo(Person o) {
        return this.age.compareTo(o.age);
    }

}
 Person person1 = new Person("张三", 61);
        Person person2 = new Person("王五", 7);
        Person person3 = new Person("李四", 23);
        Person person4 = new Person("张全蛋", 17);
        ArrayList<Person> people = new ArrayList<>();
        people.add(person1);
        people.add(person2);
        people.add(person3);
        people.add(person4);
        System.out.println(people);
        Collections.sort(people);
        System.out.println(people);
static <T> void sort(List<T> list, Comparator<? super T> c)
根据指定的比较器引起的顺序对指定的列表进行排序。

Comparator<? super T> c比较器接口,第二个参数传实现类对象或者匿名内部类

案例:

ArrayList<Integer> integers = new ArrayList<>();
        integers.add(2);
        integers.add(1);
        integers.add(3);
        integers.add(4);
        integers.add(5);

        //打乱集合循序
        Collections.shuffle(integers);
        System.out.println(integers);

        Collections.sort(integers);
        System.out.println(integers);
        /**
         * int	compareTo(Integer anotherInteger)
         * 数字比较两个 Integer对象。
         */
        Collections.sort(integers,(o1, o2) -> o2.compareTo(o1));
static <T> booleanaddAll(Collection<? super T> c, T... elements)

将所有指定的元素添加到指定的集合。

posted @ 2022-06-28 23:26  在线电影制作人  阅读(3)  评论(0)    收藏  举报  来源