List<Map<String, String>> wareList stream 根据 属性 code去重 遍历
时间: 2023-10-29 20:57:40 浏览: 156
Java中List根据map的某个key去重的代码
您可以使用Java 8的Stream API来根据属性code去重遍历List<Map<String, String>> wareList。首先,使用filter方法根据code属性进行过滤,只保留code属性不重复的元素。然后,使用forEach方法遍历过滤后的结果。以下是一个示例代码:
```
wareList.stream()
.filter(distinctByKey(map -> map.get("code")))
.forEach(map -> {
// 在这里进行遍历操作
});
```
请注意,上述代码中的distinctByKey方法是一个自定义方法,用于根据指定属性的值进行去重。以下是一个可能的实现:
```
public static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) {
Set<Object> seen = ConcurrentHashMap.newKeySet();
return t -> seen.add(keyExtractor.apply(t));
}
```
这样,您就可以根据属性code去重并遍历List<Map<String, String>> wareList了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [对 List<Map<String, Object>> 格式的数据](https://blog.csdn.net/weixin_44979389/article/details/127621293)[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: 50%"]
- *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: 50%"]
[ .reference_list ]
阅读全文