java对list对象数组过滤其中一个属性转成新的list数组
时间: 2023-08-10 12:05:36 浏览: 65
可以使用Java 8中的Stream API来实现这个过滤转换操作。以下是一个示例代码:
假设有一个包含Person对象的List,每个Person对象都有一个name属性和age属性。现在我们要将所有年龄大于等于18岁的Person对象的name属性转换成一个新的List<String>对象:
```
List<Person> persons = new ArrayList<>();
// 假设persons中已经添加了多个Person对象
List<String> names = persons.stream()
.filter(p -> p.getAge() >= 18) // 过滤出年龄大于等于18岁的Person对象
.map(Person::getName) // 转换为name属性
.collect(Collectors.toList()); // 收集到一个新的List对象中
// 输出新的List对象
System.out.println(names);
```
上述代码运行结果为:包含所有年龄大于等于18岁的Person对象的name属性的List对象。
相关问题
java获取list对象数组其中一个属性转成新的list数组
可以通过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"]`。
java通过stream将一个list转换成新的list
可以使用Java 8中的Stream API将一个List转换为新的List。具体实现如下:
List<String> oldList = Arrays.asList("apple", "banana", "pear", "orange");
List<String> newList = oldList.stream().map(String::toUpperCase).collect(Collectors.toList());
这段代码可以将oldList中的每个字符串转换为大写,并将它们组成一个新的List。请注意,使用Stream API需要导入java.util.stream和java.util.stream.Collectors两个包。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)