HashMap容器底层实现原理是什么呢?
下文笔者讲述HashMap容器底层实现原理,如下所示:
HashMap简介
hashMap是基于Map接口的非线程安全实现, hashMap中可使用Null键和null值 hashMap不保证元素的顺序
HashMap底层实现原理
HashMap在底层是采用一个数组和链表对数据进行存储 当我们向HashMap中添加元素时, 首先使用key计算出hashcode值,然后使用hash值得出数组的下标,然后将数据放在此处 如果还有其它元素需放入此下标时,则元素会采用链表的方式进行链接 -------------------------------------------------------------------- 新加入的元素放在链表头,最早加入的元素在链表尾部 如果只有一个元素,则直接放在数组上 -------------------------------------------------------------------- 注意事项: jdk1.8之,当链表中的节点超过8个之,则链表会采用红黑树的结构 红黑树的存储模式会提高查询效率 O(n)到O(logn)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。