SpareArray 原理 及其 和HashMap的性能比较

本文对比了SparseArray与HashMap的特点及适用场景。SparseArray适用于整数键值对存储,节省空间,对于正序插入效率较高;而HashMap适用于任意类型键值对存储,在查找速度上更具优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. SpareseArray 也是通过键值对存储数据,只是key为整形int , 类似于key = Interger 的HashMap,但是SpareseArray 的key 为 int 非 Interger ,更省空间。
  2. SpareArray 意为稀松数组,其结构类似于数组结构,依次排开;HashMap是散列列表,根据hash值来存储;因此SpareArray 会比 HashMap节省很多空间。
  3. 从查找速度 和 插入效率来看,如果是正序插入( 0 ->size插入),SpareArray 的插入效率会高于 HashMap。
  4. 如果是逆序插入(size -> 0)的顺序插入,则SpareArray 的插入效率表现是最差的,会低于HashMap。
  5. SpareArray 在逆序插入效率很低,是因为 每次插入 SpareArray 都会采用二分查找来定位。
  6. 从查找速度来来考虑,HashMap的查找速度 会 高于 SparseArray。
  7. 通过以上分析,SpareArray 相对于 HashMap的最大优势在内存空间。
  8. 因此谷歌推荐使用 SpareArray 代替 HashMap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值