ArrayList 保存的是对象,排序顾名思义按照某一个或者某一些条件对ArrayList保存的对象进行排序。
方法:public void sort(Comparator<? super E> c)
排序条件
排序分类:排序分为正序和倒序,如果条件返回值大于0则正序、小于0则倒序、等于则相等。
举例:
@Data
@ToString
public class Person {
private String name;
private Integer age;
private Integer sex;
}
public static void main(String[] args) { ArrayList<Person> people = new ArrayList<>(); for (int i = 0; i < 50; i++) { Person person = new Person(); person.setAge(50 - i); person.setName("a" + i); person.setSex(i % 2); people.add(person); } 1.单一条件排序 people.sort(Comparator.comparing(Person::getSex).reversed()); for (Person person : people) { System.out.println(person); } 2.复合条件排序people.sort(Comparator.comparing(Person::getSex).reversed().thenComparing(Person::getAge)); for (Person person : people) { System.out.println(person); } }