上代码:
import java.util.ArrayList;
import java.util.Collections;
import static java.util.Comparator.comparing;
public class Test5 {
public static void main(String[] args) {
//创建集合并赋值
ArrayList<People> peopleList = new ArrayList<>();
for (int i = 0; i < 5; i++) {
People people = new People();
people.setNumber("A0"+i);
people.setName("张三"+i);
peopleList.add(people);
}
//乱序
Collections.shuffle(peopleList);
System.out.println("排序前==========》"+peopleList.toString());
//按照People对象的number属性进行倒序排序
peopleList.sort(comparing(People::getNumber).reversed());
System.out.println("倒序排序后==========》"+peopleList.toString());
//按照People对象的number属性进行正序排序
peopleList.sort(comparing(People::getNumber));
System.out.println("正序排序后==========》"+peopleList.toString());
}
}
效果图:
也可以这样:
//正序
Collections.sort(peopleList,((o1, o2) -> o1.getNumber().compareTo(o2.getNumber())));
//倒序
Collections.sort(peopleList,((o1, o2) -> o2.getNumber().compareTo(o1.getNumber())));
效果是一样的