下文笔者讲述HashMap底层数据的存储方式简介说明,如下所示:
HashMap在底层是采用一个“数组和链表”存储数据
HashMap存储数据采用put方法
当put元素时,首先根据key计算出Hash值
然后再通过Hash值计算出在数组中的下标
然后再下标位置上放入相应的元素
HashMap存储数据的原理:
在HashMap底层将key,value作为一个整体对象,并称之为“Entry”对象,采用Entry数组保存所有的key,value 当需要存储一个Entry对象时,先根据 Hash 算法来决定其存储位置 当需要取出一个 Entry 时,也会根据 Hash 算法找到其存储位置 直接取出该 Entry ------------------------------------------------------------ 从以上的分析,我们可以得出HashMap可以快速存取,是借助了底层数组,使其复杂度达到了O(1) 注意事项: 新建一个HashMap时,采用一个默认的负载因子(load factor=0.75),用于减少数组的长度,避免空间占用过大,加快插入速度(减少哈希碰撞的几率)
例:
HashMap集合的示例分享
package com.java265.other; import java.util.HashMap; import java.util.Map; public class Test { public static void main(String[] args) throws Exception { Mapm = new HashMap<>(); m.put("java", 22); m.put("c", 33); m.put("python", 44); m.put("cSharp", 55); System.out.println(m); } } ------运行以上代码,将输出以下信息----- {python=44, java=22, c=33, cSharp=55}