java 使用staeam流 将一个list对象中的a字段进行升序排序
时间: 2024-03-21 13:38:52 浏览: 60
List对象去重和按照某个字段排序的实现方法
可以使用 Stream API 中的 `sorted()` 方法和 `Comparator.comparing()` 方法来对一个 List 对象中的某个字段进行排序,具体步骤如下:
1. 使用 `stream()` 方法将 List 对象转换为 Stream 对象。
```java
List<MyObject> list = new ArrayList<>();
// 添加元素...
Stream<MyObject> stream = list.stream();
```
2. 调用 `sorted()` 方法对 Stream 对象进行排序,传入 `Comparator.comparing()` 方法即可:
```java
stream = stream.sorted(Comparator.comparing(MyObject::getA));
```
其中 `MyObject` 是自定义的对象类,需要包含一个 `int` 类型的 a 字段和对应的 getter 方法。
3. 使用 `collect()` 方法将 Stream 对象转换为 List 对象。
```java
List<MyObject> sortedList = stream.collect(Collectors.toList());
```
完整代码示例:
```java
List<MyObject> list = new ArrayList<>();
// 添加元素...
List<MyObject> sortedList = list.stream()
.sorted(Comparator.comparing(MyObject::getA))
.collect(Collectors.toList());
```
阅读全文