對List集合中的物件按某個屬性進行排序
阿新 • • 發佈:2020-12-07
上程式碼:
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())));
效果是一樣的