HashMap存在的意义是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<节> 节>我一直在思考一个问题:HashMap存在的意义是什么?也就是说Java为什么要设计HashMap ?
HashMap可以存储一组键值对的集合,并实现快速的查找。
为了实现快速查找,HashMap选择了数组而不是链表。以利用数组的索引实现O(1)复杂度的查找效率。
为了利用索引查找,HashMap引入哈希算法,将关键映射成数组下标:关键→指数。
引入哈希算法又导致了哈希冲突。
为了解决哈希冲突,HashMap采用链地址法,在冲突位置转为使用链表存储。
链表存储过多的节点又导致了在链表上节点的查找性能的恶化。
为了优化查找性能,HashMap在链表长度超过8之后转而将链表转变成红黑树,以将O (n)复杂度的查找效率提升至O (log n)。
引用>HashMap存在的意义就是实现一种快速的查找并且插入,删除性能都不错的一种K/V(键/值)数据结构。
关于HashMap存在的意义是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
HashMap存在的意义是什么