List集合和Set集合的区别

news2025/1/16 19:57:14

Collection集合总结

在进行Java开发的时候经常会用到集合,而集合又主要分为两种:Collection单列集合和Map集合。这里主要介绍一下Collection的一些常用子接口的区别。

Collection集合小结
Collection集合😮 指单列集合,存储的一组对象。

  • List: Collection的子接口,特点:元素可重复,有序(存取顺序一致),可以通过索引操作元素

    1. ArrayList:底层结构是动态数组,查询快,增删慢,线程不安全。jdk7之前初始化容量10,jdk7之后初始化容量0,添加第一个元素容量变为10
    1. LinkedList:底层结构是双向链表,查询慢,增删快。
    1. Vector:底层结构是动态数组,线程安全,效率低(不推荐使用),初始化容量10
  • Set: Collection的子接口,特点:元素唯一,部分有序,部分实现排序

    1. HashSet:底层结构是Hash表,元素唯一,查询和增删效率都高。
    1. LinkedHashSet:底层结构是hash表+链表,hash表保证了操作元素的效率,链表保证了元素的有序性
    1. TreeSet:底层结构是红黑树,实现了元素的排序,查询效率高于数组,增删效率高于链表。

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

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

相关文章

4大方法,教你如何做好项目管理

作为一个项目经理,项目管理是我们日常工作最核心的一项职能。无论是公司的业务开发还是重大项目的推进,都离不开项目管理。然而对于很多初入职场的人来说,项目管理还是一个相当新颖、陌生的领域,因此我今天就来分享一些我在项目管…

【安全与风险】密码安全和用户认证

密码安全和用户认证 基本问题证明你是谁为什么要验证还需要什么基于口令的身份认证常用使用模式常用使用模式可惜的是社会工程悉尼大学 (绿化96)尴尬和记忆关于密码使用的3个主要问题UNIX形式的密码密码散列字典式攻击影子密码其他密码问题生物计量学多模式生物识别系统定义为什…

数字化体验时代,企业如何做好内部知识数字化管理

随着数字化时代的到来,企业内部的知识管理也面临着新的挑战和机遇。数字化技术的应用,可以极大地提高企业内部知识的数字化管理效率和质量,从而提升企业内部的工作效率、员工满意度和企业竞争力。本文将从数字化时代的背景出发,探…

NVM安装nodejs的方法

前提: 为解决nodejs升级后出现的各种问题,使用NVM在一台电脑上安装多个版本的nodejs,以便项目可以根据自身使用的node版本来开发。 nodejs版本的查询地址: https://nodejs.org/zh-cn/download/releases/ nodejs下载官网地址&…

17.样式冲突

写在 .vue 组件中的样式会全局生效,比如我现在有一个LEFT组件 有一个RIGHT组件 将LEFT组件与RIGHT组件放在App组件中 发现我只给LEFT样式,但是在RIGHT中也生效了 为了避免这种情况,我们有下面几种解决方式 目录 1 具体到指定的标签 2 sc…

【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)

最终效果预览 实现流程 微信小程序中使用 echarts 需使用官方提供的 ec-canvas 组件 1. 下载 ec-canvas 组件 点击下方链接,下载 ec-canvas 组件 https://gitcode.net/mirrors/ecomfe/echarts-for-weixin/-/tree/master 将其中的 ec-canvas 文件夹拷贝到微信小程序…

数据结构考研版——用栈实现后缀表达式前缀表达式求值

用栈实现后缀表达式求值 int calsub(float opand1,char op,float opand2,float &result) {if(op){resultopand1opand2;}if(op-){resultopand1-opand2;}if(op*){resultopand1*opand2;}if(op/){//判断是否为0一般把它与我们宏定义的极小值值进行比较,接近于0则视…

把你的阿里巴巴图标库转成你自己的@ant-design/icons

背景 我们使用iconfont-阿里巴巴矢量图标库来管理自己的一套图标,并且基于它的js资源,封装了自己的icons图标组件。封装的方法是使用了antd提供的createFromIconfontCN方法 但随着图标库越来越大,JS资源文件也变得越来越大。在业务中&#x…

protobuf序列化原理、安装与应用

目录 protobuf序列化 protobuf的原理 protobuf 的安装 编译message文件 应用protobuf protobuf序列化 protobuf是一种比json和xml等序列化工具更加轻量和高效的结构化数据存储格式,性能比json和xml真的强很多,毕竟google出品。 官网:https:…

C语言笔记 | 一元三次方程

文章目录 0x00 前言 0x01 问题分析 0x02 代码设计 0x03 完整代码 0x04 运行效果 0x05 参考文献 0x06 总结 0x00 前言 在 1545 年,意大利学者卡丹所写的《关于代数的大法》中,提出了一元三次方程的求根公式。人们将其称为卡丹公式。对于标准型的一…

Python 彩蛋 —— 开发人员留下的惊喜

Python 彩蛋 —— 开发人员留下的惊喜 简介:Python 核心程序开发人员在软件内部设计了2个彩蛋。一起来看看吧。 文章目录 Python 彩蛋 —— 开发人员留下的惊喜💡彩蛋一:Python 之禅💡彩蛋二:Python 有趣的漫画 &#…

程序员面试完之后,人麻了...

去面试吧 面不被录用的试 面hr为了完成任务的试 面一轮二轮没有下文试 面需要通勤2小时的试 面随时加班的试 ...... 今年的“金三银四”被网友们称为“铜三铁四”,招聘软件上的岗位都能背下来了,简历却依然石沉大海。 好不容易等来个回复&#xff…

南京邮电大学通达学院2023《电子装配实习》报告

南京邮电大学通达学院2023《电子装配实习》报告 一 声明二 题目/实习报告提示三 例答 红笺寄 休遣玉人知 ——赠nmy 一 声明 南京邮电大学通达学院2023《电子装配实习》报告 答案更新时间:2023.04.10,已更新完成,如无错误不在更新 由于作者解答能力有限…

计算带宽使用情况

由于大多数组织依靠其 IT 基础架构进行日常业务关键型运营,因此网络带宽可以对其网络性能产生巨大影响。连接不良可能会使组织花费大量资金并影响生产力。这就是为什么监控和计算带宽使用情况对于确保组织的最佳网络带宽性能至关重要的原因。 在计算企业的带宽使用…

Linux以非堵塞模式执行shell脚本

1. HOW 我们在linux系统的终端执行命令的时候,有些命令可以很快的执行完退出,我们就可以继续使用这个终端了 比如 ls 这个命令,它执行的很快,等他返回完结果之后,我们可以继续使用这个终端。 还有部分命令是不会立马…

算法——双指针技巧总结

算法——双指针技巧总结 一、双指针二、链表快慢指针19.删除链表的倒数第 N 个结点双指针 206.反转链表思路:双指针法递归法 92.反转链表 II1.递归2.迭代(双指针头插法) 876.链表的中间结点常规思路双指针思路 141.环形链表(判断链…

【安全与风险】恶意软件:概念、攻击和检测

恶意软件:概念、攻击和检测 恶意软件的定义恶意软件的类型易损性如何防范恶意软件:终端用户的观点不足防病毒软件基于主机的恶意软件检测特征检测启发式检测 数据收集挑战沙箱分析蜜罐 恶意软件的定义 Malware一词是恶意软件的缩写。 恶意软件是任何以破坏设备、窃取数据为目…

Ubuntu Desktop 启用远程桌面(Vino和TigerVNC方式)

文章目录 前言使用Vino方式无显示器使用使用TigerVNC方式 前言 在很多领域的生产开发工作中常常需要用到 Ubuntu Desktop 系统,但是在一些日常的工作交流中又离不开Windows系统,这种时候比较常用的解决方案就是在Windows系统上使用虚拟机安装Ubuntu。不…

【广州华锐互动】AI高仿真数字人在企业服务中的应用

虚拟数字人是指利用人工智能技术和计算机图形学生成的高度逼真的虚拟人形象,它可以模拟人类的语言、情感、行为和外貌,从而成为一种强大的营销工具,可以为企业带来多种商业价值。 广州华锐互动作为一家15年虚拟现实内容制作商,已…

CSS背景,元素显示模式,盒模型

文章目录 颜色取值选择器进阶复合选择器后代选择器:空格子代选择器 并集选择器(union selector)交集选择器(intersection selector)emmet语法hover伪类选择器 背景相关背景颜色背景图片背景平铺图片位置背景相关连写im…