HashMap相关内容

1. HashMap简介

  • HashMap是在JDK1.2中引入的Map的实现类。
  • HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。
  • HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。
  • HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。
  • HashMap中key和value都允许为null。但只能有一条记录可以是一个空的key;任意数量的条目可以是空的value

2. 技术本质

2.1 数据结构

jdk 1.7:数组+链表

  • 数组(ArrayList):采用一段连续的存储单元来存储数据。
    • 特点:查询速度快,插入删除速度慢
    • 查询时间复杂度O(1) ;删除插入时间复杂度O(N)
  • 链表(LinkedList):是一种物理存储单元上非连续、非顺序的存储结构
    • 特点: 插入删除速度快,查询速度慢
      • 删除
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值