使用stream流获取集合的字段
时间: 2023-07-08 12:08:55 浏览: 99
可以使用Java 8中的Stream API来获取集合的字段。假设我们有一个包含Person对象的List集合,每个Person对象都有一个name字段,可以按照以下方式获取所有人的名称:
```java
List<Person> people = ...; // 假设已经初始化了一个包含Person对象的List集合
List<String> names = people.stream()
.map(Person::getName)
.collect(Collectors.toList());
```
上述代码中,我们使用`stream()`方法将List集合转换为Stream流,然后使用`map()`方法将每个Person对象映射为其name字段的值,并使用`collect()`方法将结果收集到一个新的List集合中。在`map()`方法中,我们使用了Java 8中的方法引用(`Person::getName`)来指定要映射的函数。
如果希望获取不重复的人名列表,可以使用`distinct()`方法:
```java
List<String> uniqueNames = people.stream()
.map(Person::getName)
.distinct()
.collect(Collectors.toList());
```
上述代码中,我们在`map()`方法后面添加了`distinct()`方法,以获取不重复的人名列表。
阅读全文