Java基础——HashMap存储原理简单介绍put与get方法

HashMap的继承关系

在Java1.8版本中,HashMap继承了AbstractMap抽象类并实现了Map接口。

                                                                    

HashMap的存储原理

HashMap底层是Hash表,由数组、单向链表和红黑树构成,该数组为Node类型、数组中每一个元素对应一条单向链表,当一条单向链表的长度>=8时该链表转变为红黑树结构。ArrayList底层为数组的list集合,查找速度快而删除与修改效率低;LinkedList底层为双向链表的list集合,查找效率低,删除与修改效率高;而HashMap底层为Hash表,集合了数组与链表的优点,使得无论查找还是修改删除操作,都有不错的效率。

HashMap中定义了一个内部类Node<K,V>节点继承了Map.Entry<K,V>,该节点中有四个存储空间,分别是hash、key、value、next。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值