stream提取list对象里面的某几个属性
时间: 2023-09-24 10:06:23 浏览: 104
在使用Java 8的Stream API中,你可以使用`map`操作来提取List对象中的某几个属性。下面是一个示例:
假设有一个包含Person对象的List:
```java
List<Person> personList = Arrays.asList(
new Person("John", 25),
new Person("Alice", 30),
new Person("Bob", 35)
);
```
每个Person对象有两个属性:name(姓名)和age(年龄)。
如果你想提取所有人的姓名,你可以使用`map`操作来实现:
```java
List<String> names = personList.stream()
.map(Person::getName)
.collect(Collectors.toList());
```
在上面的代码中,`personList.stream()`将List转换为Stream,接着使用`map`操作提取每个Person对象的姓名,最后使用`collect`操作将结果收集到一个新的List中。
如果你想提取所有人的年龄,可以按照类似的方式进行:
```java
List<Integer> ages = personList.stream()
.map(Person::getAge)
.collect(Collectors.toList());
```
在这个例子中,`map`操作提取了每个Person对象的年龄。
通过使用`map`操作,你可以方便地从List对象中提取指定属性,并将其转换为一个新的List。
阅读全文