码界工坊

htykm.cn
人生若只如初见

什么是hashmap,有啥特点?

  众所周知,Hashmap是基于哈希表的 Map 接口的实现,是一个用于存储 Key-Value 键值对的集合。此实现提供了所有可选的映射操作,并允许空值和空键。HashMap 主要通过 key 存储 value 值,并且提供了添加,获取和操作存储 value 的方法。其特点如下:

  1、底层实现是 链表数组,JDK 8 后又加了 红黑树

  2、实现了 Map 全部的方法

  3、key 用 Set 存放,所以想做到 key 不允许重复,key 对应的类(一般是 String)需要重写 hashCode 和 equals 方法

  4、允许空键和空值(但空键只有一个,且放在第一位,知道就行)

  5、元素是无序的,而且顺序会不定时改变(每次扩容后,都会重新哈希,也就是 key 通过哈希函数计算后会得出与之前不同的哈希值,这就导致哈希表里的元素是没有顺序,会随时变化的,这是因为哈希函数与桶数组容量有关,每次结点到了临界值后,就会自动扩容,扩容后桶数组容量都会乘二,而 key 不变,那么哈希值一定会变)

  6、插入、获取的时间复杂度基本是 O(1)(前提是有适当的哈希函数,让元素分布在均匀的位置)

  7、遍历整个 Map 需要的时间与数组的长度成正比(因此初始化时 HashMap 的容量不宜太大)

  8、两个关键因子:初始容量、加载因子

  以上就是什么是hashmap,有啥特点?的内容。

未经允许不得转载 » 本文链接:http://htykm.cn/html/671b4299286.html

推荐文章

  • Debian下vsftp日志文件在哪查看

    在Debian系统中,vsftpd的日志文件通常位于 /var/log/vsftpd.log。要查看这些日志文件,您可以使用以下几种方法:使用命令行工具cat命令:用于查看日志文件的内容。cat /v ...

  • 没有网站能做SEO吗?没有网站如何做seo推广

    没有网站如何做seo推广?很多人可能会觉得我是在说笑,其实很多新手可能根本不会建网站,但是么有网站一样可以做推广的,那么没有网站如何做seo推广?没有网站如何做seo推广1、百度的产品有高权重的优势, ...

  • 四声域名10万元高价被秒,有“信托”含义

    终端似乎都比较喜欢在年底收购域名,刚刚得到消息,四声母域名xtpp.com以10万元的高价通过域名交易平台被秒走了。推荐阅读:一年卖掉几十个域名到底靠什么)据了解,四声母.com当前的行情价在2500 ...

  • 科大讯飞回应裁员是怎么回事?真正原因竟然是这样的

    近日有网友爆料科大讯飞开始裁员了,科大讯飞回应裁员:系照常进行年末绩效考评及末位淘汰工作。    推荐阅读:一点资讯李亚离职)针对“裁员”的传言,科大讯飞证券事务代表常晓明23日在e公司资本圈回应称, ...

  • copendir函数在Linux中的性能如何

    copyleft函数在 Linux 中并不存在。可能您是想询问 opendir函数的性能。opendir函数是 Linux 系统中用于打开目录的函数,它是 POSIX 标准的一部分。opendir函数 ...

  • 百度seo外链工具有什么用?

    外链优化是SEO的日常工作之一,但是很多时候我们可能需要借助其他的工具来工作,下面我们来说说百度seo外链工具有什么用?百度seo外链工具有什么用?推荐阅读:seo外链工具能用吗)第一、可以看到问题外 ...

  • 低价网站建设有什么不好?对企业网络营销有什么影响?

    对于现在很多的中小型企业来说,建站能低价是最好的,然而往往会因为选择了低价的建站公司最终需要花费更多去达到自己想要的效果。那么低价的建站公司一般是不好在什么方面呢?低价存在的陷阱一、低价网站建设有什么 ...

  • 是什么样的公司,让GoDaddy一年消费320万美元

        近日,有消息报道称GoDaddy在一家上市公司收购了320万美元的域名。消息源自于海外一家互联网服务公司Tucows(纳斯达克上市公司),其公布了2018年第四季度财报,在这份财报中显示,该公 ...