Java对List<Map>进行合并去重

对List进行合并去重,首先创建一个新的 List 用于存储合并去重后的结果,遍历原始的 List,将每个 Map 对象中的键值对放入一个 Set 中进行去重,最后将去重后的键值对重新组装成一个新的 Map 对象,并添加到新的 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);}
}

简单示例仅供参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/216286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一练【长度最小的子数组】

一、题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 二、题目解析 经…

DeepDrive双转子径向磁通电机

DeepDrive公司开发的是一种高效、高性能、低成本的双转子径向磁通电机系统&#xff08;含控制器&#xff09;。该系统具有较高的成本效益和资源效率&#xff0c;并拥有更高的能效&#xff0c;能显著提升电动车续航能力&#xff0c;同时亦能有效控制生产成本&#xff0c;减少自然…

3_流量预测综述阅读_Cellular traffic prediction with machine learning: A survey

为了方便学习英语书写&#xff0c;总结的一些话用英语书写 ♥目录♥ 0、文献来源and摘要1、introduction2、prediction problems and datasets2.1 prediction problems2.2 dataset&#xff08;1&#xff09;Telecom Italia 意大利电信 2015&#xff08;2&#xff09;City Cell…

C语言习题集(028)

//写一个函数&#xff0c;输入一行字符&#xff0c;将此字符串中最长的 //单词输出。 /* */ //解答&#xff1a; #include<stdio.h> void choose(char s[100]); int main() { char str[100]; printf("请输入一段字符&#xff1a;"); gets(str); printf(&q…

产品经理常有的几大误区,90%都会犯!

产品管理对项目来说非常重要&#xff0c;但在日常工作中&#xff0c;我们往往容易进入思维误区&#xff0c;如果我们没有及时发现错误并进行纠正&#xff0c;这会对产品需求工作以及项目进度产生较大影响。 因此我们需要重视产品工作中常见的思维误区并及时避免&#xff0c;需…

AI写文案工具大全介绍,免费的AI写文案工具

随着人工智能技术的不断发展&#xff0c;AI写文案成为一个备受关注的话题。本文将专注于AI写文案工具&#xff0c;深入探讨各类好用的AI写文案软件。 AI写文案工具介绍&#xff1a; OpenAIs GPT系列&#xff1a; GPT-3是由OpenAI开发的语言模型&#xff0c;能够生成高质量的文…

uniapp点击按钮,防止按钮多次点击多次触发事件【防抖操作】

图片、 一、在根目录下新建common文件并创建common.js文件&#xff0c;输入下面代码 // 防止处理多次点击function noMultipleClicks(methods, info) {// methods是需要点击后需要执行的函数&#xff0c; info是点击需要传的参数let that this;if (that.noClick) {// 第一次点…

C语言leetcode集训二:字符串(1):字符串遍历

今天集训的内容是字符串中的字符串遍历题&#xff0c;仍然是简单题&#xff0c;但也可以掌握一些字符串所必要的知识&#xff0c;加深对字符串的理解&#xff0c;关于字符数组和字符串&#xff0c;字符串的输入输出在这就不再做过多赘述&#xff0c;关于字符串的问题&#xff0…

编写一程序,输入月份,输出该月的英文名。例如,输入“3”,则输出March,要求用指针实现。(两种方法,指针和指针数组)

1.用两个指针&#xff0c;一个代表行&#xff0c;一个代表列 #include<stdio.h> #include<math.h> #include<string.h>int main(){int m;scanf("%d",&m);char *hang,lie 0;char s[12][50] {"January","February","…

Debezium日常分享系列之:Debezium 2.5.0.Beta1发布

Debezium日常分享系列之&#xff1a;Debezium 2.5.0.Beta1发布 一、重大变化1.分片部署中的 MongoDB 快照2.移除ComputePartition SMT3.JDBC 接收器值序列化更改 二、新功能和改进1.初始快照的附加通知2.MySQL高精度源时间戳3.MariaDB GTID 支持4.从 PostgreSQL 16 备用服务器进…

VR游戏虚拟现实游戏的发展:现状与未来

随着技术的飞速发展&#xff0c;虚拟现实&#xff08;VR&#xff09;游戏已经从一个尖端概念转变成为一个日益成熟和普及的行业。本文探讨了VR游戏的当前发展状况和面临的挑战&#xff0c;以及其未来的潜在趋势。 技术进步推动VR游戏发展 VR硬件的革新是推动该领域发展的主要…

串口通信(1)-硬件知识

本文讲解串口通信的硬件知识。让读者快速了解硬件知识&#xff0c;为下一步编写代码做基础。 目录 一、概述 二、串口通信分类 2.1信息的传送方向进行分类 2.2同步通信和异步通信 三、串口协议 3.1 RS232 3.1.1 电气特性 3.1.2 连接器的机械特性 3.1.3 连接类型 3.1…

【SpringBoot】入门精简

目录 一、初识 SpringBoot 1.1 介绍 1.2 项目创建 1.3 目录结构 1.4 修改配置 二、SpringBoot 集成 2.1 集成 Mybatis框架 2.2 集成 Pagehepler分页插件 2.3 集成 Druid数据库连接池 2.4 集成 Log日志管理 一、初识 SpringBoot 1.1 介绍 Spring Boot是一个用于简化Sp…

猎豹浏览器如何设置ip使用?socks5在网络安全中有什么优势?

猎豹浏览器如何设置ip使用&#xff1f;socks在网络安全中有什么优势&#xff1f; 一、猎豹浏览器如何设置ip使用&#xff1f; 在使用猎豹浏览器时&#xff0c;可以通过以下步骤来设置IP使用&#xff1a; 1. 打开猎豹浏览器&#xff0c;点击右上角的“菜单”按钮&#xff0c;在…

有趣的数学 数学建模入门三 数学建模入门示例两例 利用微积分求解

一、入门示例1 1、问题描述 某宾馆有150间客房&#xff0c;经过一段时间的经营&#xff0c;该宾馆经理得到一些数据&#xff1a;如果每间客房定价为200元&#xff0c;入住率为55&#xff05;&#xff1b;定价为180元&#xff0c;入住率为65&#xff05;&#xff1b;定价为160元…

圆通单号查询,圆通速递物流查询,用表格导出单号的详细物流信息

批量查询圆通速递单号的物流信息&#xff0c;以表格的形式导出单号的详细物流信息。 所需工具&#xff1a; 一个【快递批量查询高手】软件 圆通速递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击主…

解决canvas清晰度问题devicePixelRatio

视频教程 解决canvas清晰度的问题【渡一教育】_哔哩哔哩_bilibili 检测网页本身是否缩放 ,即缩放倍率 window.devicePixelRatio 为了获得清晰图像,需要遵循以下公式 原始尺寸样式尺寸*缩放倍率 在项目中,canvas里的原始尺寸一般与css中的样式尺寸一样,所以在写js代码时,涉…

数据库 02-03补充 聚合函数--一般聚合分组和having

聚合函数&#xff1a; 01.一般的聚合函数&#xff1a; 举个例子&#xff1a; 一般聚合函数是用于单个元祖&#xff0c;就是返回一个数值。 02.分组聚合&#xff1a;可以返回多个元祖 举个例子&#xff1a; 分组的注意&#xff1a; 主要的是根据分组的话&#xff0c;一个…

盲盒小程序搭建:年入百W的“盲盒经济”

盲盒作为一种新的商业模式&#xff0c;正引领着新的消费热潮。尤其是在当下年轻人群体中&#xff0c;盲盒的影响力非常大。 盲盒作为一种新的消费方式&#xff0c;因其具备的不确定性、未知性、惊喜性&#xff0c;刺激着消费者的购买欲。在现在的商城中&#xff0c;盲盒的身影…

2台MySQL 8.0快速配置主从同步

在MySQL 8.0中设置主从同步&#xff0c;并启用GTID&#xff08;全局事务标识符&#xff09;&#xff0c;可以按照以下详细步骤进行&#xff1a; 1. 准备主服务器 编辑MySQL配置文件&#xff08;通常是my.cnf或my.ini&#xff09;&#xff1a; [mysqld] server-id 1 log_bin …