当前位置: 首页 > news >正文

Java_双列集合

双列集合特点

存放的是键值对对象(Entry)
在这里插入图片描述

Map

因为都是继承Map,所以要学会这些API,后面的类就都知道了
在这里插入图片描述

put

有两个操作,添加(并返回null)或者覆盖(返回被覆盖的值)

remove

根据键删除,返回的是被删除的值

其他的无所谓

Map的遍历方式

将keys放到单列集合中,取找值

在这里插入图片描述

通过键值对

在这里插入图片描述

Lambda表达式遍历

在这里插入图片描述

HashMap

在这里插入图片描述
在这里插入图片描述
HashMap的底层原理和HashSet一样,都是先为长度为16的数组。同时我发现了盲点,也就是扩容之后(2倍),原先的hashcode重新分配位置。

LinkedHashMap

和LinkedSet本质一样
在这里插入图片描述

TreeMap

在这里插入图片描述
在这里插入图片描述

源码解析

Ctrl+F12查看类成员
在这里插入图片描述
右箭头代表继承的方法
上箭头代表重写的方法

添加元素时 数组位置为null

在这里插入图片描述

在这里插入图片描述
resize()函数做的事情就是绿色字写的东西。
然后如果使用hashCode计算出来的位置处为null,那么重新创建一个保存Key和Value的Node
在这里插入图片描述
在这里插入图片描述

添加位置不为null,且Key并没有重复,挂在下面形成链表或者红黑树

在这里插入图片描述

添加位置不为null,且Key并重复,覆盖

主要注意的地方,注意只进行V的覆盖,并不是全覆盖

可变参数

在这里插入图片描述
小细节:
1、方法的形参中最多只能写一个可变参数
2、方法中的其他参数一定要写在可变参数前面

Collections(注意有s)

Collection的工具类,看API就行。

http://www.lryc.cn/news/533432.html

相关文章:

  • .net的一些知识点6
  • 无须付费,安装即是完全版!
  • 常见数据库对象与视图VIEW
  • 【Vue2】vue2项目中如何使用mavon-editor编辑器,数据如何回显到网页,如何回显到编辑器二次编辑
  • 2、Python面试题解析:如何进行字符串插值?
  • 计算机网络-SSH基本原理
  • doris:MySQL 兼容性
  • mysql 存储过程和自定义函数 详解
  • C++ 中的 cJSON 解析库:用法、实现及递归解析算法与内存高效管理
  • websocket自动重连封装
  • 【C语言】球球大作战游戏
  • 人工智能D* Lite 算法-动态障碍物处理、多步预测和启发式函数优化
  • MySQL 8版本认证问题
  • Android 开发APP中参数配置与读取总结
  • Scala 语法入门
  • python中的flask框架
  • 【redis】缓存设计规范
  • 归一化与伪彩:LabVIEW图像处理的区别
  • DeepSeek大模型本地部署实战
  • deepseek+kimi自动生成ppt
  • 集成SwanLab与HuggingFace TRL:跟踪与优化强化学习实验
  • cefsharp131升级132测试(WinForms.NETCore)
  • Gitee AI上线:开启免费DeepSeek模型新时代
  • nginx常用命令及补充
  • 自动驾驶---聊聊传统规控和端到端
  • node.js + html + Sealos容器云 搭建简易多人实时聊天室demo 带源码
  • OpenFeign远程调用返回的是List<T>类型的数据
  • PCL 计算多边形的面积【2025最新版】
  • 著名大模型评测榜单(不同评测方式)
  • 国内知名Deepseek培训师培训讲师唐兴通老师讲授AI人工智能大模型实践应用