1. Collections 的 api 可以在 Java API 文档中查找。
Java Platform SE 7 https://docs.oracle.com/javase/7/docs/api/2. Collections.sort() 的用法
// 自定义一个 Person 类作为排序的对象
class Person implements Comparable<Person> {
@Override
public String toString() {
return pid+":"+name+":"+age;
}
private int pid;
private String name;
private int age;
public Person(int pid, String name, int age) {
super();
this.pid = pid;
this.name = name;
this.age = age;
}
// 重载 compareTo() 方法,自定义排序方法
@Override
public int compareTo(Person o) {
if(this.age>o.age){
return 1;
}else if(this.age<o.age){
return -1;
}else{
return 0;
}
}
}
// 定义一个 list 容器
List<Person> list = new ArrayList<Person>();
Person p1 = new Person(1,"tom",20);
Person p2 = new Person(2,"kite",25);
Person p3 = new Person(3,"rose",30);
list.add(p3);
list.add(p1);
list.add(p2);
// 排序
Collections.sort(list);
// 遍历
for(Person p:list){
System.out.println(p);
}
2. Collections.binarySearch 二分查找
二分查找需要在排好序的基础上才可以进行。
// 二分查找 p1
int index = Collections.binarySearch(list, p1);
// 输出 p1 的 index
System.out.println(index);
3. Collections.shuffle 混淆,将有序的集合混淆
Collections.shuffle(list);
4. Collections.max 取最大值
Person maxPer = Collections.max(list);