list sort(Comparator<? super E> c)方法是java1.8提供的新方法,用于list集合排序,使用了Comparator比较器来比较,实现里面的compare方法,compareTo比较之后,返回的参数是int类型,0则表示相等,1表示大于,-1负数则表示小于。
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class MapDemo {
public static void main(String[] args) {
// List<Student> list = new ArrayList<Student>();
// list.add(new Student("张三", 30));
// list.add(new Student("王五", 35));
// list.add(new Student("李四", 20));
// list.sort(new Comparator<Student>() {
// @Override
// public int compare(Student stu1, Student stu2) {
// //以下如果改变顺序则调换一下参数位置
// return stu1.getAge().compareTo(stu2.getAge());
// }
//
// });
//
//输出学生从小到大的顺序
// for (Student s : list) {
// System.out.println(s.getName()+"==="+s.getAge());
// }
List<Integer> list2 = new ArrayList<Integer>();
list2.add(20);
list2.add(18);
list2.add(30);
list2.sort(new Comparator<Integer>() {
@Override
public int compare(Integer num1, Integer num2) {
return num1.compareTo(num2);
}
});
//输出数字从小到大的顺序
for (Integer num : list2) {
System.out.println(num);
}
}
}