JAVA基础 - SparseArray

SparseArray

关键点:

  • 二分法 - ContainerHelpers.binarySearch
  • 位非运算符(~)
  • 插入新的数据,如果没有增加数组大小 GrowingArrayUtils.insert
  • 插入新的数据,如果没有增加数组大小 GrowingArrayUtils.append
  • 用到 remove delete 才会 mGarbage = true
  • SparseArray 定义GC 方法 value置空 数据移动重排

优点:

1.规定了 key 基础类型 类型    避免了装箱 拆箱
2.存放 **百十个以内** 数据 二分法查询 效率搞
3.优化了删除数据操作  
(触发前置条件 mGarbage == true  才会在调用x 方法时 进行切断引用 )
4. 相比较 hashmap 不需要保存key所对应的哈希值减少内存。
5. 频繁 添加或者删除操作  性能影响相比较较小 。

缺点:

 1.数据越大 扩容的耗时越多。
 2.排除多线程
 3.删除(GC)并不会导致数组长度减小

参考:
GrowingArrayUtils

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值