Java List Set Map

一、List 

1.1 ArrayList

1.2 LinkedList

二、Set

2.1 HashSet

2.2 TreeSet

2.3 LinkedHashSet

 

三、Map

3.1 HashMap

3.2 TreeMap

3.3 LinkedHashMap

四、对比

类型底层结构重复null值场景备注查询删除新增
ListArrayList动态数组允许快速随机访问元素0(1)0(n)尾部增加0(1),中部增加0(n)
LinkList双向链表允许需要快速插入,删除元素0(n)0(1)尾部增加0(1),中部增加0(n)
SetHashSet数组+(链表、红黑树)不可允许不要求顺序,且没有重复元素重写hsahCode、equlas0(1)0(1)0(1)
TreeSet红黑树不可不允许要求顺序,且没有重复元素重写comparato0(logN)0(logN)0(logN)
LinkedHashSet数组+(链表、红黑树))+链表不可允许有特定输出顺序,且没有重复元素0(1)0(1)0(1)
MapHashMap数组+(链表、红黑树)不可允许键值存取,而且不要求顺序时间复杂度平均能达到O(1)。正常是O(1)到O(n) jdk1.8添加了 红黑树 是 O(log n)0(1)0(1)0(1)
TreeMap红黑树不可不允许键值存取值,而且要求顺序重写comparato0(logN)0(logN)0(logN)
LinkedHashMap(数组+(链表、红黑树))+链表不可允许有特定输出顺序键,键值存取0(1)0(1)0(1)

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

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

相关文章

Three.js 材质的 blending

Three.js 材质的 blending // blending modes export type Blending | typeof NoBlending| typeof NormalBlending| typeof AdditiveBlending| typeof SubtractiveBlending| typeof MultiplyBlending| typeof CustomBlending;// custom blending destination factors export t…

[已解决]虚拟机之前能正常上网,重启之后无法连接网络问题的解决方法

虚拟机之前网络正常,重启之后却始终连接不上网络。 找了许多方法,终于发现一种便捷有效的方法。 解决方法如下: 1、将网络模式更改为NAT模式., 2、打开终端窗口,输入如下命令。 sudo service network-manager stopsudo rm /var/l…

LeetCode | 17.04.消失的数字和189.旋转数组

LeetCode | 17.04.消失的数字和189.旋转数组 文章目录 LeetCode | 17.04.消失的数字和189.旋转数组17.04.消失的数字方法一:方法二:方法三:方法二的代码方法三的代码 189.旋转数组思路一思路二思路三 17.04.消失的数字 OJ链接 这里题目要求…

10、电路综合-基于简化实频的宽带匹配电路设计方法

10、电路综合-基于简化实频的宽带匹配电路设计方法 网络综合和简化实频理论学习概述中的1-9介绍了SRFT的一些基本概念和实验方法,终于走到了SRFT的另一个究极用途,宽带匹配电路的设计。 1、之前的一些回顾与总结 之前也给出了一些电路综合的案例&…

空调系统远程管理物联网云平台解决方案

空调系统远程管理物联网云平台解决方案 一、空调现状 随着科技的发展,空调系统已经成为现代家庭和商业建筑中不可或缺的一部分。然而,传统的空调系统存在着一些问题,如能源浪费、设备维护困难、无法实时监控等。为了解决这些问题&#xff0…

实时定位和配送追踪:开发万岳同城外卖APP的关键技术特性

随着生活节奏的不断加快,外卖服务已经成为许多人日常生活中不可或缺的一部分。无论是工作日的午餐,还是周末的家庭聚会,外卖APP已经成为满足各种美食需求的首选方式。然而,同城外卖APP的成功不仅仅取决于美味的食物选择&#xff0…

Geom2dAPI_InterCurveCurve解析

Geom2dAPI_InterCurveCurve是OpenCascade库中的一个类,用于计算两个2D曲线之间的交点和其他相关信息。它提供了一个接口,使用户可以方便地执行曲线之间的交点计算。 以下是Geom2dAPI_InterCurveCurve类的主要成员函数及其功能: Geom2dAPI_In…

leetCode 2578. 最小和分割 + 排序 + 贪心 + 奇偶分组(构造最优解)

2578. 最小和分割 - 力扣(LeetCode) 给你一个正整数 num ,请你将它分割成两个非负整数 num1 和 num2 ,满足: num1 和 num2 直接连起来,得到 num 各数位的一个排列。 换句话说,num1 和 num2 中所…

【零基础抓包】Fiddler超详细教学(一)

​Fiddler 1、什么是 Fiddler? Fiddler 是一个 HTTP 协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的 HTTP 通讯。Fiddler 提供了电脑端、移动端的抓包、包括 http 协议和 https 协议都可以捕获到报文并进行分析;可以设置断点调试、截取…

【脑机接口 论文】利用脑机接口帮助ALS患者恢复对家用设备的控制science

英文题目 中文题目 稳定的语音BCI解码使ALS患者在3个月内无需重新校准即可进行控制论文下载:算法程序下载:摘要1 项目介绍2 方法2.1实时神经解码2.2算法手术植入:神经解码模型: 数据收集实验2.3稳定的解码器性能超过三个月 3 电极的贡献4 讨论5结论 中文…

vue3学习(十五)--- Pinia状态管理器

文章目录 安装引入初始化仓库Store页面使用state1. 直接修改state2. 批量修改State的值 $patch对象形式3. 批量修改State的值 $patch函数形式4. 通过actions修改 使用方法直接在实例调用解构store gettersactions 同步和异步同步异步 常见API$reset()$subscribe$onAction pinia…

python 打印与去除不可见字符 \x00

# 此处不是真实的\x00 被 空格替换了 text "boot_1__normal/ " print(text.strip()"boot_1__normal/") # 打印不可见字符 print(repr(text))>>> False boot_1__normal/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0…

​如何选择更快更稳定的存储服务器​

如何选择更快更稳定的存储服务器 选择更快、更稳定的存储服务器需要考虑以下几个方面: 存储介质:存储服务器的主要存储介质包括固态硬盘和机械硬盘。相比于机械硬盘,固态硬盘具有更高的读写速度和更低的延迟,因此能够提供更快的数…

Python爬虫程序中的504错误:原因、常见场景和解决方法

概述 在编写Python爬虫程序时,我们经常会遇到各种错误和异常。其中,504错误是一种常见的网络错误,它表示网关超时。是指客户端与服务器之间的网关通信过程中,服务器在规定的时间内没有返回响应,导致请求超时。此类错误…

Windows键 + Shift + S 截图图片保存位置

地址 C:\Users\Administrator\AppData\Local\Packages\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\TempState\ScreenClip

opencv+yolov8实现监控画面报警功能

项目背景 最近停在门前的车被人开走了,虽然有监控,但是看监控太麻烦了,于是想着框选一个区域用yolov8直接检测闯入到这个区域的所有目标,这样1ms一帧,很快就可以跑完一天的视频 用到的技术 COpenCVYolov8 OnnxRunt…

reactos 可调试光盘映像

链接:https://pan.baidu.com/s/13M9BZN4IDrWLc3bjnHO79g?pwd0gst 提取码:0gst

Kotlin apply和with用法和区别

apply apply 是 Kotlin 标准库中的一个函数&#xff0c;它允许你在对象上执行一系列操作&#xff0c;然后返回该对象自身。它的语法结构如下&#xff1a; fun <T> T.apply(block: T.() -> Unit): T这个函数接受一个 lambda 表达式作为参数&#xff0c;该 lambda 表达…

C语言每日一题(22)合并两个有序数组

力扣网 88. 合并两个有序数组 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意…

如何解决缓存击穿?

缓存击穿是指针对热门数据的缓存&#xff0c;由于并发访问&#xff0c;缓存失效的瞬间&#xff0c;大量请求直接穿透缓存&#xff0c;直接访问数据库&#xff0c;导致数据库压力骤增的情况。以下是一些解决缓存击穿问题的方法&#xff1a; 添加互斥锁&#xff08;Mutex&#x…