不用Stream对List<Map<String,Object>>去重
时间: 2023-04-08 21:04:13 浏览: 138
可以使用Java 8中的Lambda表达式和Stream API来对List<Map<String,Object>>进行去重操作。具体实现方式如下:
List<Map<String,Object>> list = new ArrayList<>();
// 添加元素到list中
List<Map<String,Object>> distinctList = list.stream()
.collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(map -> map.get("key")))),
ArrayList::new));
这段代码使用了Collectors.toCollection()方法来创建一个TreeSet集合,该集合会根据Map中的key进行去重操作。然后使用Collectors.collectingAndThen()方法将去重后的结果转换为ArrayList类型。
需要注意的是,如果Map中的value值不同,那么这种去重方式可能会导致数据丢失。如果需要保留所有的value值,可以使用其他的去重方式,比如使用HashSet集合来进行去重操作。
相关问题
对List<Map<String,Object>>去重
可以使用Java 8的Stream API来去重,具体代码如下:
List<Map<String, Object>> list = new ArrayList<>();
// 添加数据到list中
List<Map<String, Object>> distinctList = list.stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(m -> m.get("key")))), ArrayList::new));
// distinctList即为去重后的结果
List<Map<String, String>> wareList stream 根据 属性 code去重 得到一个新的 List<Map<String, String>>
根据您提供的需求,您可以使用stream来根据属性code进行去重,从而得到一个新的List<Map<String, String>>。具体的步骤如下:
1. 首先,您需要将您的数据结构List<Map<String, String>>转换为流(Stream),可以使用stream()方法实现这一步骤。
2. 然后,您可以使用distinct()方法来去除重复的元素。在distinct()方法中,您需要传入一个比较器,以便根据属性code进行比较。
3. 接下来,您可以使用collect()方法将流(Stream)转换回List<Map<String, String>>的形式。在collect()方法中,可以使用Collectors.toList()来实现这一步骤。
综上所述,您可以使用以下代码来实现您的需求:
List<Map<String, String>> distinctList = wareList.stream()
.distinct()
.collect(Collectors.toList());
请注意,这个代码片段假设您的属性code是String类型。如果您的属性code是其他类型,请相应地进行调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [List<Map<String, Object>>,Map<String,List<Map<String, Object>>>多方式循环遍历](https://blog.csdn.net/qq_42055933/article/details/127914726)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文