1. 使用`Collections.sort(List list)`方法:
List
numList = new ArrayList<>(); numList.add(999);
numList.add(123);
numList.add(456);
numList.add(66);
numList.add(9);
Collections.sort(numList);
System.out.println(numList); // 输出:[9, 66, 123, 456, 999]
2. 使用List接口的`sort(Comparator<? super E> c)`方法:
List
numList = new ArrayList<>(); numList.add(999);
numList.add(123);
numList.add(456);
numList.add(66);
numList.add(9);
numList.sort(Comparator.naturalOrder());
System.out.println(numList); // 输出:[9, 66, 123, 456, 999]
3. 使用Java 8引入的lambda表达式简化排序:
List
numList = new ArrayList<>(); numList.add(999);
numList.add(123);
numList.add(456);
numList.add(66);
numList.add(9);
numList.sort((num1, num2) -> num1 - num2);
System.out.println(numList); // 输出:[9, 66, 123, 456, 999]
4. 使用Java 8的Stream API进行排序:
List
numList = new ArrayList<>(); numList.add(999);
numList.add(123);
numList.add(456);
numList.add(66);
numList.add(9);
numList.stream().sorted().forEach(System.out::println); // 输出:[9, 66, 123, 456, 999]
5. 自定义比较器进行排序:
List
numList = new ArrayList<>(); numList.add(999);
numList.add(123);
numList.add(456);
numList.add(66);
numList.add(9);
numList.sort(new Comparator
() { @Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
});
System.out.println(numList); // 输出:[9, 66, 123, 456, 999]
6. 使用第三方工具类进行排序(例如`OrderUtils`):
List
people = new ArrayList<>(); people.add(new Person("Alice", 30, "Beijing"));
people.add(new Person("Bob", 20, "Xi'an"));
people.add(new Person("Charlie", 40, "Shanghai"));
new OrderUtils().order(people, "age", OrderUtils.DESC);
people.forEach(person -> System.out.println(person)); // 按年龄降序排列
以上方法均可用于对List进行排序,具体选择哪种方法取决于你的需求和场景。