数字排序
public static void main(String[] args) {
List<Person> userList = new ArrayList<>();
(new Person("1",25));
(new Person("2",41));
(new Person("33",30));
(new Person("11",100));
(new Person("55",30));
(new Person("22",35));
List<Person> collect =
().sorted((Person::getAge).reversed()).collect(());
(collect);
List<Person> collect2 =
().sorted((Person::getAge)).collect(());
(collect2);
}
控制台输出:
[Person(name=11, age=100), Person(name=2, age=41), Person(name=22, age=35), Person(name=33, age=30), Person(name=55, age=30), Person(name=1, age=25)]
[Person(name=1, age=25), Person(name=33, age=30), Person(name=55, age=30), Person(name=22, age=35), Person(name=2, age=41), Person(name=11, age=100)]
以中文排序
public static void main(String[] args) {
List<Person> userList = new ArrayList<>();
(new Person("1",25));
(new Person("2",41));
(new Person("33",30));
(new Person("11",100));
(new Person("55",30));
(new Person("22",35));
List<Person> collect3 =
().sorted((Person::getName)).collect(());
(collect3);
List<Person> collect4 = ().sorted((e1, e2) -> {
return ((()), (()));
}).collect(());
(collect4);
}
控制台输出:
[Person(name=1, age=25), Person(name=11, age=100), Person(name=2, age=41), Person(name=22, age=35), Person(name=33, age=30), Person(name=55, age=30)]
[Person(name=1, age=25), Person(name=2, age=41), Person(name=11, age=100), Person(name=22, age=35), Person(name=33, age=30), Person(name=55, age=30)]
排序字段为null时
List<Student> students = new ArrayList<>();
Student student1 = new Student("六年级","Math","小张",1D);
(student1);
Student student2 = new Student("三年级上","English","小钱",8D);
(student2);
Student student3 = new Student(null,"Chinese","小孙",6D);
(student3);
List<Student> collect = ().sorted((Student::getGrade).reversed()).collect(());
控制台:
Exception in thread "main"
at (:1155)
at (:111)
at $comparing$77a9974f$1(:469)
at $(:5185)
at (:360)
at (:220)
at (:1512)
at $(:348)
at (:483)
at (:472)
at $(:708)
at (:234)
at (:499)
at .(:29)