Collections概述和使用
package 集合进阶.Map双列.Collections;
/*
Collections:
是针对集合操作的工具类
常用方法:
public static <T extends Comparable<? super T>> void sort(List<T> list)
将指定的列表升序排序
public static void reverse(List <?> list)
反转指定列表中的元素顺序
public static void shuffle(List <?> list)
使用默认的随机源随机排列指定列表
*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections概述和使用 {
public static void main(String[] args) {
//创建集合对象
List<Integer> list = new ArrayList<Integer>();
//添加元素
list.add(30);
list.add(20);
list.add(50);
list.add(10);
list.add(40);
//将指定的列表升序排序
// Collections.sort(list);
//反转指定列表中的元素顺序
// Collections.reverse(list);
//使用默认的随机源随机排列指定列表
Collections.shuffle(list);
System.out.println(list);
}
}
ArrayList存储学生对象并排序
package 集合进阶.Map双列.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;
}
}
package 集合进阶.Map双列.Collections.ArrayList存储学生对象并排序;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import static java.util.Arrays.compare;
/*
ArrayList存储学生对象,使用Collections对ArrayList进行排序
*/
public class CollectionsDemo {
public static void main(String[] args) {
//创建学生类
//创建ArrayList集合对象
ArrayList<Student> array=new ArrayList<Student>();
//创建学生对象
Student s1=new Student("赵",21);
Student s2=new Student("钱",22);
Student s3=new Student("孙",23);
Student s4=new Student("李",24);
//把学生添加到集合
array.add(s1);
array.add(s2);
array.add(s3);
array.add(s4);
//使用Collections对ArrayList集合排序
Collections.sort(array,new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
int num = s1.getAge() - s2.getAge();
int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num;
return num2;
}
});
//遍历集合
for (Student s:array){
System.out.println(s.getName()+","+s.getAge());
}
}
}