代码编织梦想

如果一个list中存入了许多user对象,如何使用contains方法判断该list是否包含某个对象呢?

首先list.contains()方法判断是否包含,需要在user中复写equals()方法

复写方法时需要确认如何认定user

比如俩个user的name属性相同,不管age和birthday是否相同,都认为这两个user是同一个user,那么我们在复写equals()方法时,只需要复写name字段的equals()方法

如果name和age俩个字段才能确定俩个user是否相同,那么就需要复写name和age这两个字段的equals()方法;
 

例如:

public class JudgeNameDTO {

    /**维度编号**/
    private String extentCode;

    /**章节名称,或章节编号**/
    private String chapterCodeName;

    public JudgeNameDTO(String extentCode, String chapterCodeName) {
        this.extentCode = extentCode;
        this.chapterCodeName = chapterCodeName;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JudgeNameDTO that = (JudgeNameDTO) o;
        return Objects.equals(extentCode, that.extentCode) && Objects.equals(chapterCodeName, that.chapterCodeName);
    }
}

重写了extentCode和chapterCodeName

判断:

//检查数据是否符合规范
List<JudgeNameDTO> judgeNameDTOSCode = new ArrayList<>();
JudgeNameDTO judgeNameDTO = new JudgeNameDTO(ghaKbTitleExportDTO.getTitleCode(), ghaKbTitleExportDTO.getChapterTitle());
if (judgeNameDTOSCode.contains(judgeNameDTO)){
     errorMsg.add(excelTitle + "表第" + (i+2) + "行”章节标题“内容重复!");
}else {
     judgeNameDTOSCode.add(judgeNameDTO);
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_48964306/article/details/127298805

github最新霸榜,腾讯架构师出品“天花板笔记”500页微服务架构手册_java爱好狂.的博客-爱代码爱编程

前言 在过去5年中,微服务架构风格(通过一系列细粒度的、松耦合的、可以独立部署的服务来组织应用)变得越来越流行。且不论公司规模多大,单就工程团队来说,微服务也变得越来越可行。当今,微服务已经不是概念,而是势不可挡的潮流,它在大型互联网电商类企业已有丰富的实践案例,效果很好。但对于其他有志于向微服务架构转型的技术爱好者,微服务如何落地还存在很多不清楚的地方

c++(命名空间的使用小结)_任劳任怨程序猿的博客-爱代码爱编程

C++避免名字冲突:使用命名空间 用法1: #include <iostream> #include <string> namespace China {       float population = 14.1;  //单位: 亿       std::string capital = "北京"; } namespa

【c++】unordered map/set_进击的小白*的博客-爱代码爱编程

文章目录 改造LinkHashTable迭代器的添加迭代器接口实现构造函数operator++operator--operator!=operator*/-> 哈希表接口实现构造函数拷贝构造函数opera

java开发工具idea入门指南——如何轻松自定义ide(part 1)_界面开发小八哥的博客-爱代码爱编程

IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 在上文中,我们为大家介绍了如何设置屏幕阅读器(点击这里回顾>

数据结构算法-栈技术点_小森程序员的博客-爱代码爱编程

基本描述 生活当中只有一个出口的瓶子,装羽毛球的筒子,玩具枪有子弹的弹夹, 水枪 管道,北京胡同 水龙头 等等 游戏:老鹰捉小鸡 无论你怎么抓小只因都是抓取最后一个 出口 只有一个,入口也只有一个 尾部 栈原理精讲

高校车辆管理系统/车辆管理系统的设计与实现_一枚小小程序员哈的博客-爱代码爱编程

摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。 论文主要是对高校车辆管理系统进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系

java笔记20221011_parzivval的博客-爱代码爱编程

泛型 为什么使用泛型 安全性:使用了范型之后编译器会对一些原本为Object类的对象开启检查,避免类型错误引起bug消除转换:消除许多强制转换,可读性更好提升性能:避免了Object类型拆箱装箱的操作重用性: 泛型四

通过ioctl函数实现灯\蜂鸣器和风扇的工作选择_你隔壁王哥的博客-爱代码爱编程

ioctl函数实现灯\蜂鸣器和风扇的工作 相关知识点udev创建设备节点的原理linux操作系统中ioctl函数的使用ioctl函数的功能码 相关API自动创建设备节点相关APIioctl的相关API 代码实

supplier新的需求(22.10.11)_mr.zyg的博客-爱代码爱编程

跳转供应商前置  1,供应商的编号,需要特制 之前的 随机生成数字 /** * 生成字符串的内容枚举 * @author wengdewei * @date 2022-09-22 11:12 */ @Getter @AllArgsConstructor @SwaggerDisplayEnum public enum StrContentTyp

教师管理系统的设计与实现_一枚小小程序员哈的博客-爱代码爱编程

摘  要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于教室管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了教室管理系统的发展,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对

java并发编程经典面试题_阿彬在上路的博客-爱代码爱编程

1. volatile 关键字的作用 Volatile关键字的作用主要有如下两个: 1.线程的可见性:当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。 2. 顺序一致性:禁止指令重排序。 一、线程可见性 我们先通过一个例子来看看线程的可见性: public class VolatileTest {     boolean fla

c++11-爱代码爱编程

文章目录 C语言处理错误的方式C++11异常---exception格式异常的抛出和匹配原则异常的捕获原则---就近原则测试用例异常安全异常规范C++异常的优点C++异常的缺点异常总结 C语言处

tc8:someipsrv_format_01-爱代码爱编程

以下所有case中dut发送的SOME/IP Notification消息都是SOME/IP SD消息 SOMEIPSRV_FORMAT_01: Client ID 目的 Client ID应静态设置为

手写rpc框架项目代码解读——socket版本_rpc socket-爱代码爱编程

手写RPC框架项目代码解读——Socket版本 整体流程图约定的名字问题描述1、基于Socket1.1 服务端1.1.1 设置服务1.1.2 注册服务1.1.3 启动1.1.3.1 钩子函数

客户管理系统(ssm版):线索转换2(重点)_(sysuser)session.getattribute(const.session_user);-爱代码爱编程

一、客户需求 用户在线索明细页面,点击"转换"按钮,跳转到线索转换页面; 用户在线索转换页面,如果需要创建创建交易,则填写交易表单数据,点击"转换"按钮,完成线索转换的功能. *在线索转换页面,展示:fullName,appellation,company,owner *市场活动源是可搜索的 *数据转换:     把线索中有关公司的信息转换到客

策略模式、工厂模式、装饰者模式总结解析-爱代码爱编程

今天在面试的时候被问到自己策略模式怎么用的时候有被问懵到,以至于明明是自己的代码在脑海里已经混乱了,而且面试官提出的还是没有更好的利用设计模式也让我思考了一下我之前的代码到底是怎么实现的,重新梳理下策略模式,工厂模式,装饰者模式。 策略模式:        定义:一个类的行为或其算法可以再运行时更改,属于行为型模式。定义一系列的算法,把它们一个个封装起

订单下单成功后如何等待支付成功_rocketmq如何确定支付成功-爱代码爱编程

场景: 在订单场景下,通常要求下单完成后,用户在一定时间内支付成功,支付完成后才会通知下游服务。 方案一:在不使用事务消息的情况下实现 最简单的方式是启动一个定时任务或轮询的方式,每隔一段时间扫描订单表,比对未支付的订单的下单时间,将超过时间的订单回收。 这种方式每次都需要扫描庞大的订单信息,这对系统造成了不小的压力。 方案二:使用Roc