使用Java的stream流构建一个list的某个字段的list
时间: 2023-09-15 11:22:33 浏览: 92
假设你有一个包含对象的List,每个对象都有一个字段,我们可以使用Java 8中的Stream API来构建一个包含所有对象的该字段的List。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Example {
public static void main(String[] args) {
List<MyObject> list = new ArrayList<>();
list.add(new MyObject("a"));
list.add(new MyObject("b"));
list.add(new MyObject("c"));
// 使用stream构建包含所有对象的该字段的List
List<String> fieldList = list.stream()
.map(MyObject::getField)
.collect(Collectors.toList());
System.out.println(fieldList);
}
private static class MyObject {
private String field;
public MyObject(String field) {
this.field = field;
}
public String getField() {
return field;
}
}
}
```
在上面的代码中,我们使用了`map`方法将每个对象的字段映射为一个新的Stream,并使用`collect`方法将这些字段收集到一个List中。
输出结果为:
```
[a, b, c]
```
你可以根据自己的需要修改代码,例如更改List元素的类型或字段名称。
阅读全文