Java 提取List对象的某个属性为一个List
时间: 2024-02-12 09:06:58 浏览: 129
Java中可以使用Java 8的Stream API来提取List对象的某个属性为一个List,以下是示例代码:
假设您有一个List对象,其中包含多个实体类对象,每个实体类对象都有一个相同的属性,您想要提取这些实体类对象中该属性对应的值为一个List,可以这样写:
```
List<Person> personList = new ArrayList<>();
personList.add(new Person("Alice", 25));
personList.add(new Person("Bob", 30));
personList.add(new Person("Charlie", 35));
List<Integer> ageList = personList.stream()
.map(Person::getAge)
.collect(Collectors.toList());
System.out.println(ageList);
```
输出:
```
[25, 30, 35]
```
这样就可以将personList中所有实体类对象的'age'属性对应的值提取为一个新的List。
其中,Person类的定义如下:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
}
```
在Stream API中,map方法用于将一个对象转换为另一个对象,这里使用Person::getAge表示将Person对象转换为其'age'属性的值。最后使用collect方法将所有转换后的值收集为一个List。
阅读全文