使用stream流去除list集合的某个字段
时间: 2023-08-23 12:12:14 浏览: 217
可以使用Java 8中的Stream API和Lambda表达式来实现去除List集合中某个字段的操作。
假设我们有一个Student类,其中包含id、name和age字段,我们想要去除List<Student>中的name字段,可以使用以下代码:
```java
List<Student> students = // 获取List<Student>对象
List<String> names = students.stream()
.map(Student::getName)
.collect(Collectors.toList());
```
上面的代码中,我们首先通过stream()方法将List<Student>转换为流,然后使用map()方法将每个Student对象映射为其name字段,最后使用collect()方法将所有的name字段收集到一个List<String>对象中。
如果你想保留除去的字段,可以使用以下代码:
```java
List<Student> students = // 获取List<Student>对象
List<Student> result = students.stream()
.map(s -> new Student(s.getId(), s.getAge()))
.collect(Collectors.toList());
```
上面的代码中,我们首先通过stream()方法将List<Student>转换为流,然后使用map()方法将每个Student对象映射为一个新的Student对象,新的Student对象中只包含id和age字段,最后使用collect()方法将所有的新的Student对象收集到一个List<Student>对象中。
阅读全文