Java中HashMap
发布日期:2021-06-29 18:38:33
浏览次数:2
分类:技术文章
本文共 1009 字,大约阅读时间需要 3 分钟。
文章目录
Java中HashMap
- HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员
- HashMap 是 Map 接口的常用实现类
- HashSet 是 Set 接口的常用实现类。
- HashMap 和 HashSet 实现的接口规范不同,
- 但它们底层的 Hash 存储机制完全一样,
- HashSet 本身就采用 HashMap 来实现的。
HashSet 和 HashMap 之间有很多相似
- 对HashSet ,系统采用 Hash 算法决定集合元素的存储位置,这样保证能快速存、取集合元素;
- 对HashMap ,系统 key-value 当成一个整体进行处理,系统总根据 Hash 算法计算 key-value 的存储位置,保证能快速存、取 Map 的 key-value 对。
介绍集合存储之前需要指出一点:
- 虽然集合号称存储的是 Java 对象,但实际上并不会真正将 Java 对象放入 Set 集合中,只是在 Set 集合中保留这些对象的引用而言。
- 也就是说:Java 集合实际上是多个引用变量所组成的集合,这些引用变量指向实际的 Java 对象。
集合和引用
-
就像引用类型的数组一样,把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。
-
当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例:
HashMapmap = new HashMap (); map.put("语文" , 80.0); map.put("数学" , 89.0); map.put("英语" , 78.2);
- HashMap采用“Hash 算法”来决定每个元素的存储位置。
- 执行map.put(“语文” , 80.0); 时,系统调用"语文"的 hashCode()得到其 hashCode 值
- 每个 Java 对象都有 hashCode(),通过该方法获得它的 hashCode 值。
- 得到这个对象的 hashCode 后,系统根据该 hashCode 值来决定该元素的存储位置。
参考链接
- https://blog.csdn.net/isazhao/article/details/5014091
转载地址:https://cyj666.blog.csdn.net/article/details/103253838 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月05日 08时44分34秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
android线程与UI消息传递
2019-04-30
java枚举定义
2019-04-30
[翻译][Java]ExecutorService的正确关闭方法
2019-04-30
QT父子窗口事件传递与事件过滤器
2019-04-30
Qt到Cortex-A8的移植
2019-04-30
Qt4.7.3交叉编译移植
2019-04-30
luvcview摄像头程序到Cortex A8的安装移植
2019-04-30
Android开发书籍书籍介绍:
2021-07-03
QT 的信号与槽机制介绍
2021-07-03
Qt信号槽机制与Q_OBJECT
2021-07-03
Q_OBJECT信号槽与继承关系
2021-07-03
android定时器、消息任务与问题解决
2021-07-03
Qt模拟键盘按键按下
2021-07-03
android、java获得代码执行时长
2021-07-03
Android 定时异步刷新UI
2021-07-03
虚拟机下系统键盘无法使用
2021-07-03
android根据日期计算年龄
2021-07-03
android之单元测试问题汇总
2021-07-03
Qt窗口居中
2021-07-03