list数组过滤出对象数组的某一个属性组成新的list数组java
时间: 2023-11-02 17:14:14 浏览: 187
假设我们有一个对象数组 `Person[]`,其中每个 `Person` 对象都有一个 `name` 属性,我们想要从中过滤出所有的 `name` 属性,然后组成一个新的字符串数组 `String[]`,可以使用 Java 8 的流操作来实现:
```java
Person[] persons = new Person[] {new Person("Alice"), new Person("Bob"), new Person("Charlie")};
String[] names = Arrays.stream(persons)
.map(Person::getName)
.toArray(String[]::new);
```
上述代码中,`Arrays.stream(persons)` 将 `Person` 对象数组转换为流,`.map(Person::getName)` 操作将每个 `Person` 对象映射为其 `name` 属性,最后使用 `.toArray(String[]::new)` 将结果转换为字符串数组。
如果你使用的是 Java 7 或更早版本,可以使用常规的 for 循环来实现:
```java
Person[] persons = new Person[] {new Person("Alice"), new Person("Bob"), new Person("Charlie")};
String[] names = new String[persons.length];
for (int i = 0; i < persons.length; i++) {
names[i] = persons[i].getName();
}
```
这将遍历 `Person` 对象数组并将每个 `Person` 对象的 `name` 属性存储在新的字符串数组中。
阅读全文