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) 将所有指定的元素添加到指定的集合。 |