List<Map<String,Object>>通过多个字段值相同的话 ,去重,用最少的代码
时间: 2023-10-29 18:09:50 浏览: 161
可以使用Java 8的Stream API来对List<Map<String,Object>>进行去重:
```
list.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(m -> m.get("field1").toString() + m.get("field2").toString()))),
ArrayList::new
)
);
```
上面的代码中,我们首先将List转换为Stream,然后使用`Collectors.toCollection()`方法将Map按照两个字段的值相加后的字符串比较器传入TreeSet中去重,最后使用`ArrayList::new`将结果转换为List类型。
相关问题
List<String> getOption(Map<String, Object> params); Map<String, Object> getFollowByOption(Map<String, Object> params); void sh(Map<String, Object> params); int remindCount(Map<String, Object> params); Map<String, Object> selectCal(Map<String, Object> params); List<Map<String, Object>> selectGroup(Map<String, Object> params); List<Map<String, Object>> selectValue(Map<String, Object> params);
这段代码是一个 MyBatis 的 Mapper 接口,提供了多个方法,用于从数据库中查询数据或执行操作。具体方法如下:
- getOption:返回一个字符串列表,用于前端下拉框等组件的选项。
- getFollowByOption:返回一个 Map 对象,用于根据选项查询关注的数据。
- sh:执行审核操作,没有返回值。
- remindCount:返回一个整数值,用于提醒数量的统计。
- selectCal:返回一个 Map 对象,用于查询某个统计数据。
- selectGroup:返回一个 Map 对象列表,用于按照分组查询数据。
- selectValue:返回一个 Map 对象列表,用于查询某个字段的值。
List<Map<String, Object>>取出一个字段的值list
要取出List<Map<String, Object>>中的一个字段的值list,可以按照以下步骤进行操作:
1. 首先,创建一个空的List<String>,用于存储要取出的字段值。
2. 遍历List<Map<String, Object>>中的每个Map元素。
3. 对于每个Map元素,使用get方法根据字段名获取对应的值,并将其转换为String类型。
4. 将获取到的字段值添加到步骤1中创建的List<String>中。
5. 完成遍历后,即可得到包含所有字段值的List<String>。
以下是一个示例代码,展示了如何实现上述步骤:
```java
List<Map<String,
#### 引用[.reference_title]
- *1* *2* [Java List<Map<String,Object>>赋值给另外一个List<Map<String,String>> 利用类型擦除进行数据复制](https://blog.csdn.net/huqiankunlol/article/details/124608555)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [List<map>多字段组合排序](https://download.csdn.net/download/jiazhj/10957135)[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^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文