Java使用stream将放对象的list转成只有id的list
时间: 2024-12-14 22:15:00 浏览: 5
要使用Java 8 Stream API 将放有对象的列表转换为只包含特定属性(如id)的新列表,你可以这样做:
首先,假设我们有一个名为`Person`的对象类,其中包含`getId()`方法来获取`id`属性:
```java
class Person {
private String id;
// 其他属性...
public String getId() {
return id;
}
}
```
然后,我们可以使用Stream API 来过滤并提取每个对象的id:
```java
List<Person> personList = ...; // 假设这是你的Person对象列表
List<String> idList = personList.stream()
.map(Person::getId) // 使用方法引用获取id
.collect(Collectors.toList()); // 转换成新的List
```
这将创建一个新的列表`idList`,其中包含了原始`personList`中每个对象的`id`。
如果你想要对`idList`按ID排序,可以在`.sorted()`后面添加一个Comparator:
```java
List<String> sortedIdList = idList.stream()
.sorted(Comparator.comparing(Person::getId))
.collect(Collectors.toList());
```
现在,`sortedIdList`就是按照id升序排列的列表。
阅读全文