- 是针对集合操作的工具类
Collection类的常用方法
pubblic static <T extends Comparable<? super T>> void sort(List<T> list)
:将指定的列表按升序排序public static void reverse(List<?> list)
:反转指定列表中元素的顺序public static void shuffle(List<?> list)
:使用默认的随机源随机排列指定的列表
案例
ArrayList 存储学生对象,使用Collections对ArrayList进行排列。
要求:按年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序。
学生类:
public class student {
private String name;
private int age;
public student(){}
public student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Demo:
//创建集合对象
List<student> list = new ArrayList<student>();
//创建学生变量
student s1 = new student("王五",20);
student s2 = new student("张三",18);
student s3 = new student("李四",20);
student s4 = new student("赵六",15);
student s5 = new student("hh",10);
student s6 = new student("xx",17);
//添加学生变量到集合
list.add(s1);list.add(s2);list.add(s3);list.add(s4);list.add(s5);list.add(s6);
//排序
Collections.sort(list, new Comparator<student>() {
@Override
public int compare(student o1, student o2) {
//按年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序
int num = o1.getAge() - o2.getAge();
num = num == 0?o1.getName().compareTo(o2.getName()):num;
return num;
}
});
//输出集合
for(student s:list){
System.out.println(s.getName()+","+s.getAge());
}
输出:
王五,20
李四,20
张三,18
xx,17
赵六,15
hh,10