java获取list对象数组其中一个属性转成新的list数组
时间: 2023-08-10 20:05:37 浏览: 128
可以通过Java8的Stream API和Lambda表达式实现获取List对象数组中的其中一个属性转成新的List数组。
假设有如下的对象数组:
```java
List<Person> persons = new ArrayList<>();
persons.add(new Person(1, "Alice"));
persons.add(new Person(2, "Bob"));
persons.add(new Person(3, "Charlie"));
```
其中Person类定义如下:
```java
public class Person {
private int id;
private String name;
public Person(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
```
如果想要获取persons列表中所有人的名字,可以通过如下代码实现:
```java
List<String> names = persons.stream().map(Person::getName).collect(Collectors.toList());
```
其中,`map()`方法用于将每个Person对象映射为其name属性,`collect()`方法用于将映射结果收集为一个List。
最终得到的names列表为:`["Alice", "Bob", "Charlie"]`。
阅读全文