Java集合知识点总结
| ArrayList | LinkedList | LinkedHashSet | HashSet | TreeSet | HashTable | HashMap | TreeMap | |
|---|---|---|---|---|---|---|---|---|
| 是否有序 | 有序 | 有序 | 有序 | 无序 | 自然排序(Comparator)进行排序,默认升序使用的是重写comparTo方法 | 无序 | 无序 | 自动排序 |
| 元素是否为空 | 可为null | 可为null | 不允许 | 可为null | 不允许 | 键允许值不允许 | 不允许 | |
| 元素是否重复 | 重复 | 重复 | 不重复(可去重) | 不重复(可去重) | 不重复(可去重) | 不重复(可去重) | 不重复(可去重) | 不重复(可去重) |
| 操作效率 | 查询更新效率高 | 插入,删除效率高 | 存取速度快 | 性能比HashSet稍差 | 效率比HashMap低 | 通过哈希表内部映射关系快速查找 | 添加删除定位映射关系性能比HashMap稍差 | |
| 底层实现 | 数组 | 链表实现 | Linked | hash | TreeMap(红黑二叉树)平行二叉树 | 数组+链表+红黑树 | 红黑树(平衡二叉树的一种) | |
| 扩容原理 | 扩大到原来的1.5倍 | 头尾插入 | 0.75扩容原来的2倍(可修改) | 0.75扩容原来的2倍(可修改) | ||||
| 默认长度 | 10 | 16 | 16 | |||||
| 缺点 | 删除插入效率低 | 查找更新效率低 | ||||||
| 操作方式 | 下标操作 | 操作开头和结尾 | 坐标和元素 | 键值 | 键值 |
不太完善,后续会继续更新,对您有帮助麻烦给点点赞
相关文章:
Java集合知识点总结
ArrayListLinkedListLinkedHashSetHashSetTreeSetHashTableHashMapTreeMap是否有序有序有序有序无序自然排序(Comparator)进行排序,默认升序使用的是重写comparTo方法无序无序自动排序元素是否为空可为null可为null不允许可为null不允许键允许…...
培训班出身的同学简历怎么做?面试要注意哪些?来自资深大厂HR的忠告
目录 1 不少培训班候选人的简历中,缺乏足够的商业项目年限 2 直接描述培训班学习经历会带来的负面影响 3 大龄转行Vs年轻的初级程序员,公司一般会如何选择? 4 经过培训班突击后,可以先面试小公司 5 面试官怎么面试有培训班经历…...
Hive3.1.3安装部署_最小化部署_元数据MySQL部署_Hiveserver2部署_metastore部署---大数据之Hive工作笔记0012
hbase 实时分析 hive 离线分析 这里是新版本的hive3.1.3的安装 关于hive的原理之前的博客已经详细说了 可以看到上面是hive运行的原理图 词法分析 语法分析...
javascript:void(0) 含义
我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢?javascript:void(0) 中最关键的是 void 关键字, void 是 JavaScript 中非常重要的关键字,该操作符指定要计算一个表…...
不用机器学习不用大数据,给你讲通ChatGPT的深层原理
ChatGPT现在看来已经异常火爆了,很多人已经熟知,并且开始练习使用或者开始利用他开始实践了。但仍然有很多人在观望,在疑惑,今天狗哥不用那些高端大气的机器学习亦或是大数据还给你讲通ChatGPT深层到底是个啥逻辑。 目录 1. 聊家…...
JavaScript中的循环类型
JavaScript 中有三种主要的循环类型: for、while 和 do...while。 for: 循环指定次数。 例如: for (let i 0; i < 5; i) {console.log(i); } while: 当条件为真时循环。 例如: let i 0; while (i < 5) {console.log(i);i; } do...while: 先执…...
Spring Boot+Vue前后端分离项目练习02之网盘项目利用token进行登陆验证
1.添加依赖 首先需要添加jwt对应的依赖。 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency>2.添加配置 JWT由三部分构成,分别是 header, pa…...
springcloud常见面试题(2023最新)
目录前言一.微服务1.微服务是什么?2.你知道哪些RPC框架3.springCloud和Dubbo有什么区别4. SpringCloud由什么组成二.Spring Cloud Eureka1.Eureka包含几个组件2.Eureka的工作原理3.说一下什么是Eureka的自我保护机制4.什么是CAP原则5.都是服务注册中心,E…...
用户态驱动的两种方式-ixy学习
介绍在Linux下有两种启用用户态驱动的子系统:一个是UIO,另一个是VFIO,ixy这两种都支持。 UIO通过虚拟文件系统sysfs下的内存映射文件来暴露所有必要的接口以完成用户态的驱动。这些基于文件的系统调用接口给了我们充足的权限来获取设备资源而…...
机器学习 | 线性回归(单变量)
前文回顾:机器学习概述📚线性回归概念我们要使用一个数据集,数据集包含俄勒冈州波特兰市的住房价格。在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集。比方说,如果你朋友的房子是 1250 平方尺大小…...
C++基础知识【3】控制语句
目录 前言 一、条件语句 1.1、if 语句 1.2、if-else 语句 1.3、switch 语句 二、循环语句 2.1、while 循环 2.2、do-while 循环 2.3、for 循环 三、跳转语句 3.1、break语句 3.2、continue语句 3.3、goto语句 四、一些新特性 4.1、if 语句和 switch 语句…...
ImportError: Can not find the shared library: libhdfs3.so解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…...
Qt插件开发总结5--主界面嵌入插件UI
文章目录一、前言二、效果展示三、嵌入插件UI1、插件接口文件添加UI指针2、插件子项目工程建立UI类3、插件类中创建UI类、使UI指针指向创建的UI类4、插件元信息中添加widget键值对,指示插件UI嵌入主界面中的位置5、主界面中预留接入点tabWidget6、插件管理器中元数据…...
一些关于linux process 和python process的记录
python mulprocess 主要用来生成另一个进程并运行 def func(i):print(helloworld)from multiprocessing import Process p Process(targetfunc,args(i, )) p.start()如果想要调用shell命令,可以采用os.popen 或者是 subprocess.run 但是前者只能执行命令并获取输…...
卡尔曼滤波——一种基于滤波的时序状态估计方法
文章目录1. Kalman滤波及其应用2. Kalman原理公式推导:Step 1:模型建立Step 2:开始Kalman滤波Step 3:迭代滤波本文是对 How a Kalman filter works, in pictures一文学习笔记,主要是提炼核心知识,方便作者快…...
什么是X6CrMo17-1
X6CrMo17-1X6CrMo17-1是在430的基礎上加入了鉬,提高鋼的耐點蝕、耐縫隙腐蝕性及強度等,比430鋼抗鹽溶液體性強。一、X6CrMo17-1對應牌號:1、國標GB-T標準:數字牌號:S11790、新牌號:10Cr17Mo、舊牌號&#x…...
软件测试是个人就能做?恕我直言,你可能是个“纯粹”的测试工具人,BUG收集器
作为过来人的我和你说说软件测试的真正情况。 前言 一个软件做出来,最不能少的是谁?毫无疑问是开发,开发是最了解软件运作的那个人,早期就有不少一人撸网站或者APP的例子,相当于一个人同时是产品、研发、测试、运维等…...
递归算法(recursion algorithm)
递归算法 什么是递归算法 在过程或者函数里调用自身的算法; 递归算法(recursion algorithm),通过重复将问题分解为同类的子问题而解决问题的方法, Java中函数可以通过调用自身来进行递归,大多数编程语句…...
VScode下 ESP32 下载程序
ESP32-S3 下载方式可以通过UART0 下载,USB 下载,JTAG下载,还可以使用WIFI进行远程OTA升级程序。插件底栏按键介绍:①选择串口端口号,如COM3; ②选择芯片型号; ③工程idf设置,相当于menuconfig; …...
黑苹果日历
黑果日历 2023/2/27 总结 安装流程 制作启动U盘2017年,本来去当兵,结果近视👓没验上。父母我还想学什么?我想到了黑客操作电脑的画面,感觉特别酷。 2017年有了第一台自己的笔记本,是小米游戏本࿰…...
Three.js 开发环境搭建避坑指南:从零开始用Parcel构建你的第一个3D场景
Three.js 开发环境搭建避坑指南:从零开始用Parcel构建你的第一个3D场景 第一次接触Three.js时,最令人头疼的往往不是3D编程本身,而是那些看似简单却暗藏玄机的环境配置问题。记得我刚开始学习时,光是让一个立方体在浏览器中显示出…...
自媒体人利器:OpenClaw+百川2-13B自动生成短视频脚本
自媒体人利器:OpenClaw百川2-13B自动生成短视频脚本 1. 为什么需要自动化脚本生成工具 作为一个每天需要产出3-5条短视频的自媒体创作者,我经常陷入创意枯竭和重复劳动的困境。传统的工作流程需要手动搜索热点、构思脚本、撰写分镜,这个过程…...
禅修Debug大法:面对屎山先冥想三小时
——测试工程师的认知重构与系统破局指南第一章 祖传系统的测试困局:当屎山遇见测试用例1.1 屎山系统的四大典型特征熵增陷阱15年以上的迭代系统普遍呈现指数级增长的代码复杂度。行业数据显示,超过60%的祖传系统每月新增代码的耦合度递增12%,…...
ChatTTS长文本处理实战:AI辅助开发中的性能优化与避坑指南
最近在做一个AI辅助开发的项目,其中用到了ChatTTS来做文本转语音。功能本身挺酷的,但当我尝试处理一篇几千字的长文章时,问题就来了:程序直接卡死,或者内存占用飙升,生成的语音也断断续续的。这让我意识到&…...
1746-NR4电阻模拟输入
1746-NR4 模拟输入模块(电阻输入)特点由 Allen-Bradley 生产,属于 SLC 500 系列类型为 模拟输入模块,专门用于电阻信号采集提供 4 路独立输入通道支持热电偶、RTD(热电阻)及其他电阻传感器输入精度高&#…...
OpenClaw安全防护指南:ollama-QwQ-32B任务执行权限管控
OpenClaw安全防护指南:ollama-QwQ-32B任务执行权限管控 1. 为什么需要关注OpenClaw的安全防护? 去年冬天,我在调试一个自动整理照片的OpenClaw任务时,不小心让AI把整个图片文件夹按修改日期重命名了——包括那些珍贵的原始文件。…...
phpIPAM vs Netbox深度对比:开源IP管理工具选型指南(附GCP云环境部署实录)
phpIPAM vs Netbox深度对比:开源IP管理工具选型指南(附GCP云环境部署实录) 在数字化转型浪潮中,企业网络基础设施的复杂度呈指数级增长。IP地址作为网络通信的基础要素,其管理效率直接影响运维团队的工作效能。传统Exc…...
直齿行星齿轮纯扭转非线性动力学建模与动力学方程推导研究:啮合相位对相图、频谱图、分岔图及庞加莱...
直齿行星齿轮纯扭转非线性动力学建模(含3个或4个行星轮),包括动力学方程推导过程,考虑了各啮合齿轮副之间的啮合相位,可出相图,频谱图,分岔图,庞加莱映射。行星齿轮系统的非线性动力学分析总带着点机械工程…...
AlphaFold实战指南:如何利用Colab+开源代码复现蛋白质结构预测(避坑版)
AlphaFold实战指南:如何利用Colab开源代码复现蛋白质结构预测(避坑版) 蛋白质结构预测一直是计算生物学领域的圣杯级难题。2021年DeepMind发布的AlphaFold2以原子级精度解决了这一挑战,彻底改变了结构生物学的研究范式。本文将带你…...
政务大模型微调全攻略,打造高效智能政务AI系统!
在数字化、智能化成为新质生产力核心驱动力,十五五政务数字化转型加速推进的背景下,智慧政务建设成为各地政府提升治理能力的关键。但当前政务领域普遍面临数据处理效率低、AI 模型适配性差、服务自动化水平不足、敏感数据管理难等痛点,通用大…...
