Android高效数据结构 SparseArray&ArrayM

2018-03-28  本文已影响0人  Imbv

SparseArray系列

SparseArray<V> 代替 HashMap<Integer, V>

SparseIntArray 替代 HashMap<Integer, Integer>

SparseLongArray 替代 HashMap<Integer, Long>

LongSparseArray<V>替代HashMap<long, V>

SparseBooleanArray 替代HashMap<Integer, Boolean>

以上特征: key 都是int类型

ArrayMap系列

ArraySet<K,V>代替HashSet<K,V>

ArrayMap<K,V> 代替HsshMap <K, V>

优点 &缺点:

     数据按 key 大小或者K的hashcode的大小顺序插入,使用对 key 进行二分查找;

    减少内存的使用,建立一百个大小数据,使用HashMap需要一百个,但是稀疏数据用几个会建立几个(比实际建立要大一下);

     有一定的性能上的消耗的,并不适合当成包含大量元素的容器;

      线程不安全;

上一篇下一篇

猜你喜欢

热点阅读