ArrayMap 特点

ArrayMap:

  • 继承至Map的 key- value的数据集合。
  • 相比于HaspMap 它占用的内存较小,内存使用率更高,效率相对HaspMap要慢,因为内部使用二分查找。
  • 缺点是对于数据量大的时候,其运行效率会变缓存。
  • 会自动根据其数据量大小增加或减少容量。
  • 内部有两个数组,一个用于存储hash值, 一个用于存储数据object。二分查找是根据hash值的大小排序的,因此,下图中的mHashes必定是一个有序的数据。因此它在增删的时候,会重新排序,效率低。


    ArrayMap 特点_第1张图片
    image.png

在Android Performance Pattern中,官方给出的使用场景为,item数量小于1000,尤其是插入数据和删除数据不频繁的情况。参考:https://androidandbrillo.wordpress.com/2015/09/07/android-performance-patterns-arraymap-vs-hashmap/

ArrayMap 的根本目的是旨在提高数据量小的情况下提高内存使用率

你可能感兴趣的:(ArrayMap 特点)