java 将一个对象 list 中的属性组合成一个信的 list
时间: 2024-04-11 16:27:10 浏览: 22
你可以使用Java 8的Stream API和Lambda表达式来将一个对象列表中的属性组合成一个新的列表。假设你有一个包含Person对象的List,每个Person对象都有一个name属性,你想要将这些name属性提取出来并组成一个新的List,可以按照以下方式实现:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Person> personList = new ArrayList<>();
personList.add(new Person("Alice"));
personList.add(new Person("Bob"));
personList.add(new Person("Charlie"));
List<String> nameList = personList.stream()
.map(Person::getName) // 提取name属性
.collect(Collectors.toList()); // 将结果收集到新的List中
System.out.println(nameList);
}
static class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
}
```
运行上述代码,输出结果为:
```
[Alice, Bob, Charlie]
```
在上述代码中,我们使用`stream()`方法将`personList`转换成一个流,然后使用`map()`方法将每个Person对象转换为其name属性。最后,我们使用`collect()`方法将提取的name属性收集到一个新的List中。
希望这可以帮助到你!