Java对List<Map>进行合并去重
2023-12-13 04:11:01
对List
完整实例代码如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// 创建原始的 List<Map>
List<Map<String, Integer>> list = new ArrayList<>();
Map<String, Integer> map1 = new HashMap<>();
map1.put("a", 1);
map1.put("b", 2);
Map<String, Integer> map2 = new HashMap<>();
map2.put("a", 1);
map2.put("c", 3);
list.add(map1);
list.add(map2);
// 创建用于存储合并去重后的结果的新 List<Map>
List<Map<String, Integer>> mergedDeduplicatedList = new ArrayList<>();
// 创建用于去重的 Set<Map>
Set<Map<String, Integer>> set = new HashSet<>();
// 遍历原始的 List<Map>
for (Map<String, Integer> map : list) {
// 创建一个新的 Map 用于存储合并去重后的结果
Map<String, Integer> newMap = new HashMap<>(map);
// 如果新的 Map 成功添加到 Set 中,说明是一个新的 Map,将其添加到结果 List<Map> 中
if (set.add(newMap)) {
mergedDeduplicatedList.add(newMap);
}
}
// 输出结果
System.out.println("Original List: " + list);
System.out.println("Merged and Deduplicated List: " + mergedDeduplicatedList);
}
}
简单示例仅供参考
文章来源:https://blog.csdn.net/qq_44577699/article/details/134848934
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!