Collections类是java提供的一个集合操作工具类,它包含了大量的静态方法,用于实现对集合元素的排序、查找和替换等操作。
Collections与Collection是不同的,前者是集合的操作类,后者是集合的接口。
排序
在Java中,如果想实现一个类的对象之间比较大小,那么这个类就要实现Comparable接口。此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo()方法被称为它的自然比较方法。此方法用于比较此对象与指定对象的顺序,如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
compareTo()方法的定义语法格式如下:
int compareTo(Object obj);
实现此接口的对象列表(和数组),元素之间可以比较大小后,就可以通过Collections.sort()方法(和Array.sort()方法)进行排序操作了。前面介绍过List接口和Map接口,Map接口本身是无序的,所以不能对Map接口做排序操作:但是List接口时有序的,所以可以对List接口进行排序。注意List接口中存放的元素,必须是实现了Comparable接口的元素才可以。
示例:
public class Student implements Comparable{
private int num;
private String name;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int compareTo(Object o) {
Student stu = (Student)o;
if (this.num == stu.getNum()) {
return 0;
} else if (this.num > stu.getNum()) {
return 1;
} else {
return -1;
}
}
}
替换
若有一个需求,需要把List集合中的所有元素都替换为相同的元素,则可以使用Collections类的静态方法fill()来实现。