1.概述
java.utils.Collections是集合工具类,对集合进行操作。
2.用法
public static <T> boolean addAll(Collection<T> c,T......elements):往集合中添加一些元素
public static void shuffle(List<?> list):随机打乱集合中元素的顺序
public static <T> void sort(List<T> list):将集合中的元素按照默认规则排序
public static <T> void sort(List<T> list,Compator<? super T>):将集合中的元素按照指定规则进行排序
3.案例演示
练习1
package com.westmo1.demo4;
import java.util.ArrayList;
import java.util.Collections;
public class MyDemo3 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
//用这种方式添加元素,非常不方便
/*list.add("a");
list.add("b");
list.add("c");
list.add("d");*/
Collections.addAll(list,"g","a","l","d","n");
Collections.shuffle(list);//打乱元素顺序
System.out.println(list);
Collections.sort(list);//按照默认规则排序
System.out.println(list);
}
}
练习2
package com.westmo1.demo4;
import java.util.ArrayList;
import java.util.Collections;
public class MyDemo4 {
public static void main(String[] args) {
Student student1 = new Student("张三", 20);
Student student2 = new Student("李四的儿子", 19);
Student student3 = new Student("王五", 29);
ArrayList<Student> list = new ArrayList<Student>();
Collections.addAll(list,student1,student2,student3);
Student.Sort sort = new Student.Sort();
Collections.sort(list,sort);//按照指定规则(姓名长度)进行排序
for (Student student : list) {
System.out.println(student);
}
}
}
package com.westmo1.demo4;
import java.util.Comparator;
public class Student implements Comparable<Student> {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"姓名='" + name + '\'' +
", 年龄=" + age +
'}';
}
@Override
public int compareTo(Student o) {
return 0;
}
static class Sort implements Comparator<Student> {
@Override
public int compare(Student o1, Student o2) {
int num = o1.name.length() - o2.name.length();
int num1 = o1.name.compareTo(o2.name);
int num2 = o1.age - o2.age;
if (num == 0) {
num = num1;
}
if (num1 == 0) {
num = num2;
}
return num;
}
}
}