判断两个不重复的list集合是否相等 只比较元素值 不比较顺序

判断两个不重复的list集合是否相等 只比较元素值 不比较顺序

文章目录

    • 🔊前言
    • 📕代码
    • 🔚运行结果
    • 🖊️最后总结

🔊前言

判断两个不重复的list集合是否相等 只比较元素值 不比较顺序

  • 1.如果源为空 现在不为空则不相等
  • 2.如果现在为空 源不为空则不相等
  • 3.如果两个都不为空
  • 4.如果源编码集合包含现编码集合 现编码集合 包含源编码集合 则表示相等 否则不相等

📕代码

List<String> originList = Arrays.asList("1", "2", "3");
List<String> nowList = Arrays.asList("1", "3", "2", "4");

/**
 * * 判断两个不重复的list集合是否相等 只比较元素值 不比较顺序
 * * 1.如果源为空 现在不为空则不相等
 * * 2.如果现在为空 源不为空则不相等
 * * 3.如果两个都不为空
 * * 4.如果源编码集合包含现编码集合 现编码集合 包含源编码集合 则表示相等 否则不相等
 */

//1.如果源为空 现在不为空则不相等
if (CollectionUtils.isEmpty(originList)
        && CollectionUtils.isNotEmpty(nowList)) {
    throw new RuntimeException("不相等");
    //2.如果现在为空 源不为空则不相等
} else if (CollectionUtils.isEmpty(nowList)
        && CollectionUtils.isNotEmpty(originList)) {
    throw new RuntimeException("不相等");
    //3.如果两个都不为空
} else if (CollectionUtils.isNotEmpty(originList)
        && CollectionUtils.isNotEmpty(nowList)) {
    HashSet<String> originCodesSet = new HashSet<>(originList);
    if (originCodesSet.size() != originList.size()) {
        throw new RuntimeException("编码不能重复");
    }
    HashSet<String> nowCodesSet = new HashSet<>(nowList);
    if (nowCodesSet.size() != nowList.size()) {
        throw new RuntimeException("编码不能重复");
    }
    //4.如果源编码集合包含现编码集合 现编码集合 包含源编码集合 则表示相等 否则不相等
    if (!(originList.containsAll(nowList)
            && nowList.containsAll(originList))) {
        throw new RuntimeException("不相等");
    }


}

🔚运行结果

image-20231207103058092

🖊️最后总结

🖲要熟练掌握技巧,一定多多坚持练习:骐骥一跃,不能十步;驽马十驾,功在不舍

搞笑点赞

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

体育类直播介绍

体育类直播是指以体育比赛为主题的网络直播&#xff0c;包括各种类型的体育赛事&#xff0c;如足球、篮球、网球、赛车等。这种类型的直播内容通常由主播对体育赛事进行实时解说和评论&#xff0c;吸引观众的关注和互动。 在体育类直播中&#xff0c;主播通常会选择自己擅长和…

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(三十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

Leetcode—714.买卖股票的最佳时机含手续费【中等】

2023每日刷题&#xff08;五十二&#xff09; Leetcode—714.买卖股票的最佳时机含手续费 动态规划算法思想 可参考我的这篇博客 递推实现代码 class Solution { public:int maxProfit(vector<int>& prices, int fee) {int n prices.size();int f[n1][2];memset…

【T+】畅捷通T+软件安装过程中停留在:正在配置产品位置或进度80%位置。

【问题描述】 畅捷通T软件在安装过程中&#xff0c; 进度条一直停留在【正在配置产品…】位置。 【解决方法】 打开【任务管理器】&#xff0c;想必这个如何打开&#xff0c;大家应该都会。 在【进程】中找到【DBConfig.exe】或者【Ufida.T.Tool.SM.DBConfig.exe】进程并结束…

Qt6 QRibbon 一键美化Qt界面

强烈推荐一个 github 项目&#xff1a; https://github.com/gnibuoz/QRibbon 作用&#xff1a; 在几乎不修改任何你自己代码的情况下&#xff0c;一键美化你的 UI 界面。 代码环境&#xff1a;使用 VS2019 编译 Qt6 GUI 程序&#xff0c;继承 QMainWindow 窗口类 一、使用方法 …

Docker的数据卷、数据卷容器,容器互联

数据卷&#xff08;容器与宿主机之间数据共享&#xff09; 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机的目录挂载到数据卷上&#xff0c;对数据卷的修改操作立刻可见&#xff0c;并且更新数据不会影响镜像&#xff0c;从而实现数据在宿主机与容器之…

解锁全球潜力:IT外包解决跨国企业海外分支的IT需求

在全球化的浪潮中&#xff0c;跨国企业为了拓展业务辐射面&#xff0c;经常在世界各地设立海外分支。然而&#xff0c;这些分支机构面临着独特的挑战&#xff0c;其中包括解决复杂的IT需求。为了更高效地应对这些挑战&#xff0c;越来越多的企业正在转向IT外包&#xff0c;以便…

Vue配置代理解决跨域

Network的status中报CORS error指在前端&#xff08;Vue.js&#xff09;发起跨域请求时&#xff0c;被服务器拒绝访问的错误 在本地开发环境中&#xff0c;Vue.js 将默认从 http://localhost:8080 启动服务器。如果浏览器访问服务器时使用的 URL 不是该地址&#xff0c;就可能…

计算机网络实用工具之nbtscan

简介 nbscan是一个用于扫描IP网络的NetBIOS名称信息的程序。它向提供范围内的每个地址发送NetBIOS状态查询&#xff0c;并以人类可读的形式列出接收到的信息。对于每个响应的主机&#xff0c;它列出了IP地址、NetBIOS计算机名、登录用户名和MAC地址。 对于安全检查、网络发现…

网络安全威胁——DDoS攻击

DDoS攻击 1. 定义2. DDoS攻击类型2.1 网络层攻击2.2 传输层攻击2.3 应用层攻击 3.DDoS攻击态势特点 1. 定义 分布式拒绝服务&#xff08;DDoS&#xff09;攻击是一种常见的网络攻击形式。攻击者利用恶意程序对一个或多个目标发起攻击&#xff0c;企图通过大规模互联网流量耗尽…

超越GPT-4!谷歌发布最强多模态大模型—Gemini

12月7日凌晨&#xff0c;谷歌在官网发布了全新最强多模态大模型——Gemini。 据悉&#xff0c;Gemini有Ultra、Pro、Nano三个版本&#xff0c;可自动生成文本、代码、总结内容等&#xff0c;并能理解图片、音频和视频内容。在MMLU、DROP 、HellaSwag、GSM8K等主流评测中&#…

手把手教你新建一个winform项目(史上最全)

文章目录 前言&#xff1a;第1步、打开Microsoft Visual Studio&#xff08;简称vs&#xff09;&#xff0c;本人这里使用的是Visual Studio 2017 专业版&#xff0c;如下图&#xff1a;1.2 Visual Studio Community 2019下载1.3 Visual Studio Community 2019 安装 第2步、点击…

富时中国a50指数准确吗

富时中国A50指数简介 富时中国A50指数&#xff08;FTSE China A50 Index&#xff09;是富时罗素指数有限公司&#xff08;FTSE Russell&#xff09;编制的&#xff0c;旨在反映中国A股市场50家市值较大、流动性较好的公司的股价表现。它是国际上对中国A股市场投资者影响较大的…

python+pytest接口自动化(10)-session会话保持

在接口测试的过程中&#xff0c;经常会遇到有些接口需要在登录的状态下才能请求&#xff0c;否则会提示请登录&#xff0c;那么怎样解决呢&#xff1f; 上一篇文章我们介绍了Cookie绕过登录&#xff0c;其实这就是保持登录状态的方法之一。 另外一种方式则是通过session进行会…

Verilog开源项目——百兆以太网交换机(四)令牌桶管理单元设计

Verilog开源项目——百兆以太网交换机&#xff08;四&#xff09;令牌桶管理单元设计 &#x1f508;声明&#xff1a;未经作者允许&#xff0c;禁止转载 &#x1f603;博主主页&#xff1a;王_嘻嘻的CSDN主页 &#x1f511;全新原创以太网交换机项目&#xff0c;Blog内容将聚焦…

全方位解读SeaTunnel MySQL CDC连接器:实现数据高效同步的强大工具

在当今数据快速增长的时代&#xff0c;实时、高效地同步和处理来自各种数据源的信息成为了企业和开发者面临的重要挑战。 MySQL作为广泛使用的数据库之一&#xff0c;其变更数据捕获&#xff08;CDC&#xff09;功能对于实现这一目标至关重要。在这篇文章中&#xff0c;我们将深…

Java接口:用于实现各种动态功能

&#x1f451;专栏内容&#xff1a;Java⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 1、接口概念2、实现一个接口3、实现多个接口4、接口间的继承 1、接口概念 在现实生活中&#xff0c;接口的例子比比皆是&#…

java接口自动化测试框架及断言详解

在上篇文章&#xff0c;我们介绍了Get方法的设计过程和测试结果&#xff0c;现在我们需要对前面代码进行重构和修改&#xff0c;本篇需要完成以下目标。 1&#xff09;重构Get方法2&#xff09;如何进行JSON解析3&#xff09;使用TestNG方法进行测试断言 1.重构Get方法 在前…

家政小程序源码,师傅竞价接单

家政预约上门服务小程序开发方案&#xff0c;php开发语言&#xff0c;前端是uniapp&#xff0c;有成品源码&#xff0c;可以二开&#xff0c;可以定制。 一家政小程序用户端功能&#xff1a;服务分类、在线预约、在线下单。 师傅端&#xff1a;在线接单&#xff0c;竞价&…

算法初阶双指针+C语言期末考试之编程题加强训练

双指针 常⻅的双指针有两种形式&#xff0c;⼀种是对撞指针&#xff0c;⼀种是左右指针。 对撞指针&#xff1a;⼀般⽤于顺序结构中&#xff0c;也称左右指针。 • 对撞指针从两端向中间移动。⼀个指针从最左端开始&#xff0c;另⼀个从最右端开始&#xff0c;然后逐渐往中间逼…