SparseArray与ArrayMap的使用条件
来源:互联网 发布:ios编程基础 编辑:程序博客网 时间:2024/06/05 23:42
SparseArray和ArrayMap的使用原因是因为HashMap在申明后就至少使用一个宽度为16的数组并占用相应内存,在扩容时,容量会直接翻为两倍,(即只有1对KV值,用Hashmap装,依然要占用16数组的内存,当有17对KV值时要占用32数组的内存),并且Hashmap会对int进行Intege装箱处理r。而HashMap的扩容因子为0.75(即容量超过75%时,Hashmap会扩容一倍。
SparseArray 使用条件: Key为int类型,数据量在千级以内,可替代HashMap进行使用。
LongSparseArray 使用条件: Key为long类型,同上。
ArrayMap 使用条件: Key为其它数据类型。
集合 性能 默认容量 空时的大小 1W条目的开销(忽略键值大小) 准确设置大小 扩容算法
HashSet O(1) 16144 360kX *2
HashMap O(1) 16128 360kX *2
HashTable O(1) 11104 360kX *2+1
LinkedList O(n)1 48 240k Y +1
ArrayList O(n)10 88 40k X *1.5
StringBuffer O(1) 1672 24 X *2
1 0
- SparseArray与ArrayMap的使用条件
- 安卓性能优化—使用ArrayMap与SparseArray
- ArrayMap与SparseArray源码分析
- Android SparseArray与HashMap与ArrayMap的性能差别
- HashMap与ArrayMap(和SparseArray)的比较与选择
- HashMap与ArrayMap(和SparseArray)的比较与选择
- ArrayMap的使用与详解
- Android性能优化之SparseArray与ArrayMap
- 使用SparseArray和ArrayMap代替HashMap
- Android内存优化---使用SparseArray和ArrayMap
- 使用SparseArray和ArrayMap代替HashMap
- 使用SparseArray和ArrayMap代替HashMap
- Android 比ArrayMap更高效的SparseArray
- Android SparseArray ArrayMap
- SparseArray和ArrayMap
- SparseArray ArrayMap替代HashMap
- (HashMap,SparseArray,ArrayMap)
- SparseArray ArrayMap HashMap
- Java高级用户指南-核心Java
- HDU5672 尺取
- java定时任务Timer和TimerTask使用
- iReport安装过程
- excel 单元格文本链接方法
- SparseArray与ArrayMap的使用条件
- Maven核心概念
- ThreadPool线程池
- 在树莓派中安装opencv
- 6 zigzag conversion
- Intellij IDEA 无法找到引入的包和类
- MySQL if 语句用法
- python安装
- Logistic回归和梯度下降总结