import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ListSortExample {
public static void main(String[] args) {
// 创建一个包含整数的List
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(3);
numbers.add(8);
numbers.add(1);
numbers.add(9);
// 使用Collections.sort()对List进行排序(升序)
Collections.sort(numbers);
System.out.println("升序排序: " + numbers);
// 如果需要降序排序,可以使用自定义Comparator
Collections.sort(numbers, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1); // 降序排列
}
});
System.out.println("降序排序: " + numbers);
// Java 8中可以使用lambda表达式简化代码
numbers.sort((o1, o2) -> o2 - o1); // 降序排列
System.out.println("Java 8 Lambda降序排序: " + numbers);
// 对于对象列表,可以通过对象的某个属性进行排序
List<Person> people = new ArrayList<>();
people.add(new Person("Alice", 30));
people.add(new Person("Bob", 25));
people.add(new Person("Charlie", 35));
// 按年龄升序排序
people.sort(Comparator.comparingInt(Person::getAge));
System.out.println("按年龄升序排序: " + people);
// 按名字字母顺序排序
people.sort(Comparator.comparing(Person::getName));
System.out.println("按名字字母顺序排序: " + people);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + '}';
}
}
Collections.sort() 方法可以直接对 List<Integer> 进行升序排序。如果需要降序排序,可以通过自定义 Comparator 来实现。List<Person>),可以通过 Comparator.comparing() 方法指定按照对象的某个属性(如 age 或 name)进行排序。希望这些示例能帮助你理解如何在 Java 中对 List 进行排序。
下一篇:java数组转成list
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站