javo. utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:
public static boolean addAll (Collection c,t,… elements) :往集合中添加一些元索。
Collections. addALL(list, ..lements: "a","b","C","d","e");
System.out . println(list);//[a, b, C,d, e]
public static void shuffle(List<?> list) 打乱顺序:打乱集合顺序。
System. out . println(list);//[a, b, C, d, e]
Collections . shuffle(list);
System. out . println(list);//[b, d, C, a, e]|
public static void sort(List list):将集合中元素按照默认规则排序。可以是数字或者字母
Collections .sort(list);//默认是升序
注意:
若是自定义的对象进行排序时
sort(List list )使用前提:被排序的集合里边存储的元素,必须实现Comparable,重写接口中的方法compareTo定义排序的规则
Comparable接口的排序规则:自己(this)-参数:升序 参数-自己(this):降序
//重写排序的规则
public int compareTo(Person 0) {
//return 0;//认为元素都是相同的
//自定义比较的规则,比较两个人的年龄(this,参数Person)
return this . getAge() - o.getAge();//年龄升序排序
public static void sort(List list, Comparator<? super T> ):将集合中元素按照指定规则排序。
Comparator和Comparable的区别
Comparable:自己(this )和别人(参数)比较,自己需要实现Comparable接口,重写比较的规则compareTo方法
Comparator:相当于找一个第三方的裁判,比较两个
Collections . sort(list01, new Comparator<Integer>() {
//重写比较的规则
public int compare(Integer 01, Integer 02) {
//return 01-o2;//升序.
return 02-01;//降序
}
});
也可以多个排序条件
Collections .sort(list02, new Comparator<Student>() {
public int compare(Student 01, Student o2) {
//按照年龄升序排序
int result = 01. getAge()-o2.getAge();
//如果两个人年龄相同,再使用姓名的第一个字比较
if(result==0){
result = 01. getName().charAt(0)-o2.getName().charAt(e);
}
return result;
}
});