stream流操作,获取List集合中对象的单个字段,并以List集合返回
时间: 2023-08-19 12:03:57 浏览: 48
可以使用Java 8中的Stream API来实现这个功能。代码如下:
```java
List<YourObject> list = //...初始化List集合
List<String> fieldList = list.stream()
.map(YourObject::getField) //获取对象的单个字段
.collect(Collectors.toList()); //将单个字段组成List集合返回
```
其中,`YourObject`是你的对象类名,`getField()`是你要获取的单个字段的方法名。上述代码可以将List集合中的每个对象的单个字段取出来,然后组成一个List集合返回。
相关问题
list嵌套map stream 以单个字段去重
可以使用Java 8的Stream API来实现。假设有一个名为list的List,其中每个元素都是一个Map对象,可以按照如下方式进行嵌套的Map和List去重:
```
List<Map<String, Object>> resultList = list.stream()
.map(map -> map.get("fieldName"))
.distinct()
.map(fieldName -> list.stream()
.filter(map -> map.get("fieldName").equals(fieldName))
.findFirst()
.get())
.collect(Collectors.toList());
```
其中,fieldName表示要去重的字段名。首先,使用map操作获取所有map对象中的fieldName属性值,并通过distinct操作去重。然后,再次使用map操作,获取每个fieldName属性值对应的第一个map对象,即去除重复的map对象。最后,使用collect操作收集结果到一个新的List中。
stream流根据字段删除
根据提供的引用内容,可以使用Stream流根据字段删除集合中的元素。在给定的代码示例中,使用了filter操作来过滤掉集合中值为"1"的元素。具体代码如下:
```java
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
list.add("7");
list.add("1");
list.add("1");
list.add("1");
List<String> collect = list.stream().filter(f -> !f.equals("1")).collect(Collectors.toList());
```
上述代码中,使用了filter操作来过滤掉值为"1"的元素,然后使用collect操作将过滤后的元素收集到一个新的List中。最终,collect中的元素就是过滤后的结果。执行结果如下:
```
执行结果为:
2
3
4
5
6
7
```
因此,通过使用Stream流的filter操作,可以根据字段删除集合中的元素。
#### 引用[.reference_title]
- *1* [java 的 stream流,将list集合实体类里面的 单个字段 过滤 变成list](https://blog.csdn.net/python113/article/details/128370326)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Stream流使用之去除List集合中的某个值](https://blog.csdn.net/weixin_45557544/article/details/125537868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![](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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)