map的key重复问题

一种需要key重复的Map

    • 实例
    • 结果

IdentityHashMap<>();

dentityHashMap 类(存在于java.util包中)是一个 基于HashTable的 Map 接口的实现,从Java 1.4版本开始就已经存在。

这个类不是一个通用的Map 实现。尽管这个类实现了Map 接口,但它违反了Map的一般契约,在比较对象时使用equals() 方法。它使用引用平等(==)来搜索地图中的键。这个类只在需要引用平等的情况下使用。
IdentityHashMap内部使用System.identityHashCode()方法进行计算。
IdentityHashMap具有与HashMap几乎相同的特性,包括构造函数和方法。然而,就性能而言,与HashMap相比,它提供了更好的性能,因为它使用了 HashTable 的内联探测技术,而不是HashMap使用的链式技术。
它的迭代器在迭代过程中试图修改地图时抛出ConcurrentModificationException。
它不是一个线程安全的类。使用*Collections.synchronizedMap()*来获得这个类的线程安全引用。
出处:

作者:方石剑
链接:https://juejin.cn/post/7132089551257862158
来源:稀土掘金

实例

public class Test {public static void main(String[] args) {List<TestClass> testClassList = new ArrayList<>();for (int i = 0; i < 10; i++) {for (int i1 = 0; i1 < 2; i1++) {TestClass testClass = new TestClass();testClass.setName(String.valueOf(i));testClass.setCode(LocalDate.now().toString());testClassList.add(testClass);}}IdentityHashMap<String, TestClass> stringTestClassHashMap = new IdentityHashMap<>();for (TestClass testClass : testClassList) {stringTestClassHashMap.put(new String(testClass.getName()),testClass);}System.out.println(stringTestClassHashMap);}
}

结果

这里可以看到就算key重复也是可以存入的
在这里插入图片描述

在此做个记录防止忘记
详细内容请点击》》》

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

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

相关文章

用于图像处理的Python顶级库 !!

文章目录 前言 1、OpenCV 2、Scikit-Image 3、Scipy 4、Python Image Library&#xff08;Pillow / PIL&#xff09; 5、Matplotlib 6、SimpleITK 7、Numpy 8、Mahotas 前言 正如IDC所指出的&#xff0c;数字信息将飙升至175ZB&#xff0c;而这些信息中的巨大一部分是图片。数…

DTAN: Diffusion-based Text Attention Network for medical imagesegmentation

DTAN:基于扩散的医学图像分割文本关注网络 摘要 在当今时代&#xff0c;扩散模型已经成为医学图像分割领域的一股开创性力量。在此背景下&#xff0c;我们引入了弥散文本注意网络(Diffusion text - attention Network, DTAN)&#xff0c;这是一个开创性的分割框架&#xff0c…

http“超级应用与理解”

本篇文章来介绍一下http协议和其应用 1.http协议是在OSI模型的哪一层 HTTP&#xff08;超文本传输协议&#xff09;是应用层协议&#xff0c;它是在 OSI 模型的最高层&#xff0c;即第七层——应用层。HTTP 通过互联网来传输数据和信息&#xff0c;主要用于 Web 浏览器和 Web …

前端开发,Vue的双向数据绑定的原理

目录 一、什么是前端 二、Vue.JS框架 三、双向数据绑定 四、Vue的双向数据绑定的原理 一、什么是前端 前端通常指的是网页或应用程序中用户直接交互和感知的部分&#xff0c;也称为客户端。前端开发涉及使用HTML、CSS和JavaScript等技术来构建用户界面和交互功能。前端开发…

SW2000TSN-千兆百兆车载以太网TSN交换机

更多资讯可以进入官网查看或者联系我们http://www.hdn-vdo.com

【分享】JLINK的SW调试模式连线方式

大家知道&#xff0c;JLINK有2种调试模式&#xff1a;JTAG和SWD&#xff08;串行模式&#xff09;。 JTAG是常用模式&#xff0c;大家都熟悉、不废话了&#xff1b;如果使用SW模式&#xff0c;需要&#xff08;只需要&#xff09;4根连线&#xff0c;连接方式如下&#xff1a; …

360安全浏览器_360se15.1.1453.64_优化版_【屏蔽文件关联】

360安全浏览器15正式版(360SE15)是基于Chromium内核的双核浏览器,Chromium内核提升至114,支持Win7系统,新增夜间模式,自动模式动态切换支持IE内核.各类实用功能,安全保护技术,丰富皮肤库,风格多样化. 360安全浏览器_360se6.64位_优化版 360安全浏览器PC官方版下载丨最新版下载…

GPT-4对编程开发的支持

在编程开发领域&#xff0c;GPT-4凭借其强大的自然语言理解和代码生成能力&#xff0c;能够深刻理解开发者的意图&#xff0c;并基于这些需求提供精准的编程指导和解决方案。对于开发者来说&#xff0c;GPT-4能够在代码片段生成、算法思路设计、模块构建和原型实现等方面给予开…

进程间通信——管道

文章目录 进程间通信的介绍进程间通信的目的进程间通信的本质 匿名管道创建管道匿名管道的特征 命名管道小结 进程间通信的介绍 进程间通信简称IPC&#xff08;Interprocess communication&#xff09;&#xff0c;进程间通信就是在不同进程之间传播或交换信息。 进程间通信的…

BulingBuling[Beyond the To-Do List] - 《让金钱为你服务》 [ Make Money Work for You ]

与《财务自由: 赚到足够的钱的有效方法》作者Grant的简短访谈 让钱为你工作 超越待办事项清单 主持人&#xff1a;Erik Fisher Make Money Work for You Beyond the To-Do List Hosted by Erik Fisher 与Erik Fisher一起探索如何确定你生活中最大的财务杠杆以及使用它们的最佳方…

01_02_mysql04_数据类型

MySQL中的数据类型 整数类型 TINYINTSMALLINTMEDIUMINTINT(或INTEGER)BIGINT 浮点类型 FLOATDOUBLE 定点数类型 DECIMAL 位类型 BIT 日期时间类型 YEARTIMEDATEDATETIMETIMESTAMP 文本字符串类型 CHARVARCHARTINYTEXTTEXTMEDIUMTEXTLONGTEXT 枚举类型 ENUM 集合类型 SET 二进制…

在Postgresql 下安装QGIS

安装QGIS的前提是需要 在windows下安装Postgres&#xff0c;具体可以参考文章&#xff1a; Windows 安装和连接使用 PgSql数据库 安装GIS的具体步骤如下&#xff1a; 一.打开 Application Stack Builder 二.选择默认端口和安装目标 三.选择【Spatial Extensions】 四.选择安装…

1414 - 期末考试成绩排名

题目描述 期末考试结束了&#xff0c;数学成绩已经出来。 数学老师请你帮忙编写一个程序&#xff0c;可以帮助老师对班级所有同学的考试分数按照由高到低进行排序&#xff0c;并输出按照成绩排序后每个同学的学号、姓名、数学成绩。 输入 第一行是一个整数 n&#xff08; n…

【图像分割 2024 ICLR】Conv-LoRA

【图像分割 2024 ICLR】Conv-LoRA 论文题目&#xff1a;CONVOLUTION MEETS LORA: PARAMETER EFFICIENT FINETUNING FOR SEGMENT ANYTHING MODEL 中文题目&#xff1a;卷积满足lora:分段任意模型的参数有效微调 论文链接&#xff1a;https://arxiv.org/abs/2401.17868 论文代码&…

【微服安全】API密钥和令牌与微服务安全的关系

什么是 API 密钥和令牌 API 密钥 API 密钥是一串用于识别应用程序或用户的字符串。它通常用于授权应用程序或用户访问 API。API 密钥可以是公开的&#xff0c;也可以是私有的。公开的 API 密钥可供任何人使用&#xff0c;而私有的 API 密钥只能由授权的应用程序或用户使用。 …

线代往事(二)特征值的几何含义

已知 A v λ v Av λv Avλv&#xff0c;即 A v λ I v Av λ\mathrm{I}v AvλIv&#xff0c;即 A v I ( λ v ) Av \mathrm{I}(λv) AvI(λv)。回顾线代往事&#xff08;一&#xff09;可知&#xff0c;如果矩阵可逆&#xff0c;则有 I y A x \mathrm{I}y\mathrm{A}x Iy…

LabVIEW焊缝缺陷超声检测与识别

LabVIEW焊缝缺陷超声检测与识别 介绍基于LabVIEW的焊缝缺陷超声检测与识别系统。该系统利用LabVIEW软件和数据采集卡的强大功能&#xff0c;实现了焊缝缺陷的在线自动检测&#xff0c;具有通用性、模块化、功能化和网络化的特点&#xff0c;显著提高了检测的效率和准确性。 随…

c++类和对象新手保姆级上手教学(上)

前言&#xff1a; c其实顾名思义就是c语言的升级版&#xff0c;很多刚学c的同学第一感觉就是比c语言难学很多&#xff0c;其实没错&#xff0c;c里的知识更加难以理解可以说杂且抽象&#xff0c;光是类和对象&#xff0c;看起来容易&#xff0c;但想完全吃透&#xff0c;真的挺…

PlatformIO 推荐工程配置

常见的 [env] 具有通用选项的可选配置环境 所有人之间共享 [env:NAME]platformio.ini 中的环境 文件。 如果配置文件有很多&#xff0c;这非常有用 环境 [env:NAME]他们共享共同的设置。 例如&#xff1a; [env] platform ststm32 framework stm32cube board nucleo_l152r…

Rust 初体验4

《Rust语言圣经》入门实战的前两节中&#xff0c;介绍了 minigrep 程序设计过程&#xff0c;包括命令行设计、参数接收、文件读取、模块化和错误处理等。其功能是从指定文件中查找字符串。 代码包括两部分&#xff1a;main.rs&#xff0c;lib.rs。下面对代码简单做了注释。 m…