java8 stream取某个属性的list
时间: 2023-11-22 14:00:18 浏览: 33
可以使用Java 8中的Stream API和map()方法来实现,如下所示:
```
List<Person> people = new ArrayList<>();
people.add(new Person("John", 25));
people.add(new Person("Marry", 30));
people.add(new Person("David", 20));
List<String> names = people.stream()
.map(Person::getName)
.collect(Collectors.toList());
```
这将返回一个包含所有人姓名的List。请将Person替换为你的实际类名并更改getName()方法的名称以获取所需的属性。
相关问题
java8 stream取某个属性并去重
可以通过如下代码实现:
```
List<MyObject> list = Arrays.asList(new MyObject("A"), new MyObject("B"), new MyObject("A"));
List<String> distinctNames = list.stream()
.map(MyObject::getName)
.distinct()
.collect(Collectors.toList());
```
其中,`MyObject` 为包含一个名字属性的类。`map` 方法将流中的每个对象映射为其名字属性,`distinct` 方法去重,最终通过 `collect` 方法转换为列表。
java stream 取list对象的某个值
在Java中,使用Stream流取出List对象的某个值非常简单。首先,我们需要将List集合转换为流对象,然后使用流的方法来操作。
假设我们有一个List<User>对象,其中User是一个自定义的类,该类有一个name属性。我们想取出List中所有User对象的name属性。以下是具体的代码示例:
```java
List<User> userList = new ArrayList<>();
userList.add(new User("Tom"));
userList.add(new User("Jerry"));
userList.add(new User("Alice"));
List<String> names = userList.stream()
.map(User::getName) // 使用map方法提取每个User对象的name属性
.collect(Collectors.toList()); // 将结果收集到一个新的List中
System.out.println(names); // 输出结果:[Tom, Jerry, Alice]
```
在上述代码中,我们首先调用`stream()`方法将List转换为流对象,然后使用`map()`方法提取每个User对象的name属性。`map()`方法的参数是一个函数式接口,我们可以使用方法引用语法`User::getName`来简化代码。最后,我们使用`collect()`方法将结果收集到一个新的List中。
通过以上操作,我们成功取出了List对象中所有User对象的name属性,并将结果保存在一个新的List中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)