
1.概念

2.常用方法

3.List集合排序

4.常用方法实操
package com.bfd;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import java.lang.reflect.Array;
import java.util.*;
public class Demo01 {
public static void main(String[] args) {
ArrayList arraylist = new ArrayList();
//1.addAll批量为collection添加元素
Collections.addAll(arraylist, 'a', 'x', "b", 12, 199);
System.out.println(arraylist.toString());
//2.shuffle将list集合顺序打乱
Collections.shuffle(arraylist);
System.out.println(arraylist);
//3.sort(list)将list元素按照默认规则排序(升序)
//1.Integer
arraylist.clear();
Collections.addAll(arraylist, 4, 1, 10, 8, 2);
Collections.sort(arraylist);
System.out.println(arraylist);
//2.Bean
arraylist.clear();
Collections.addAll(arraylist, new Person("k", 10), new Person("x", 12), new Person("y", 3));
Collections.sort(arraylist);
System.out.println(arraylist);
//4.sort(list,Comparator匿名内部类)
arraylist.clear();
Collections.addAll(arraylist, "aaaaa","bb","aaa","ccc","aaa");
Collections.sort(arraylist, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.length() < o2.length() ? 1 : -1;
}
});
System.out.println(arraylist);
//Arrays和Collections中的sort的用法相同(1.使用元素自己的比较器(Comparable) 2.重新定义元素比较器Comparator)
Person[] perarr = {new Person("k", 10), new Person("x", 12), new Person("y", 3)};
Arrays.sort(perarr);
System.out.println(Arrays.toString(perarr));
Arrays.sort(perarr,new Comparator<Person>(){
@Override
public int compare(Person o1, Person o2) {
return o1.age > o2.age ? 1 : -1;
}
});
System.out.println(Arrays.toString(perarr));
}
}
class Person implements Comparable<Person> {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int hashCode() {
return 1;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public int compareTo(Person o) {
return this.age > o.age ? 1 : -1;
}
}