java8 list排序
时间: 2023-10-03 19:06:07 浏览: 100
在Java 8中,可以使用`List.sort()`方法对列表进行排序。以下是一些示例代码:
1. 对整数列表进行升序排序:
```java
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5);
numbers.sort(Comparator.naturalOrder());
```
2. 对字符串列表进行按字母顺序排序:
```java
List<String> strings = Arrays.asList("c", "a", "b");
strings.sort(Comparator.naturalOrder());
```
3. 对自定义对象列表进行排序,假设对象有一个属性`name`:
```java
class Person {
private String name;
// getter and setter methods
// constructor
// other methods
}
List<Person> persons = new ArrayList<>();
persons.add(new Person("John"));
persons.add(new Person("Alice"));
persons.add(new Person("Bob"));
persons.sort(Comparator.comparing(Person::getName));
```
这些示例都使用了`Comparator`来指定排序的方式。`Comparator.naturalOrder()`用于升序排序,`Comparator.reverseOrder()`用于降序排序。`Comparator.comparing()`方法可根据对象的某个属性进行排序。
需要注意的是,`sort()`方法会直接修改原始列表,如果不希望改变原始列表,可以先创建一个副本进行排序。
阅读全文