HashSet 与HashMap底层实现
2024-10-13 06:23:54
1. HashSet底层通过包装HashMap来实现,HashSet在添加一个值的时候,实际上是将此值作为HashMap中的key来进行保存。
2. HashMap的底层实现是通过初始化化一个Entry数组来实现key、value的保存。
3. 在HashMap的Entry中有四个变量,key、value、hash、next,其中next用于在hash方法添加值冲突时候,所指向的下一个值。
4. 在HashMap中添加值步骤
第一步,对key的hashcode进行hash计算,获取应该保存到数组中的index。
第二步,判断index所指向的数组元素是否为空,如果为空则直接插入。
第三步,如果不为空,则依次查找entry中next所指定的元素,判读key是否相等,如果相等,则替换久的值,返回。
第四步,如果都不相等,则将此链表头元素赋值给待插入entry的next变量,让后将待插入元素插入到entry数组中去。
5. map遍历方法有两种,keyset 和Map.Entry
最新文章
- Java 找不到主类错误
- MFC设置静态文本框,编辑框等控件背景和字体颜色
- C++中各种容器的类型与特点
- LoC
- shell脚本学习积累笔记(第一篇)
- Android学习笔记(十四)方便实用的首选项-PreferenceActivity
- 交通银行万事达Y-POWER信用卡 普卡
- WebBrowser与IE的关系,如何设置WebBrowser工作在IE9模式下?
- Nexon由Xsolla全球支付服务
- ZJOI2017 Day2
- js前端获取页面传递的参数
- 3Sum探讨(Java)
- Ubuntu16.04 添加 Docker用户组
- MySQL 基础知识梳理学习(六)----锁
- 3、if和while语句
- 用Pytorch训练线性回归模型
- (set)产生冠军 hdu2094
- linux c 编程 ------ 头文件及其作用
- Hadoop 2.x完全分布式安装
- Derek解读Bytom源码-Api Server接口服务