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> boolean | addAll(Collection<? super T> c, T... elements) 将所有指定的元素添加到指定的集合。 |