美文网首页
android中的集合

android中的集合

作者: link的勇气 | 来源:发表于2018-03-26 17:36 被阅读0次

    SparseArray
    SparseArray由两个数组mKeys和mValues存放数据;其中key的类型为int型,这就显得SparseArray比HashMap更省内存一些。SparseArray存储的元素都是按元素的key值从小到大排列好的。使用二分查找来判断元素的位置,数据量较小时比HashMap更快。

    ArrayMap
    ArrayMap是一个键值对映射的数据结构,它设计上更多的是考虑内存的优化,内部是使用两个数组进行数据存储,一个数组记录key的hash值,另外一个数组记录Value值,它和SparseArray一样,也会对key使用二分法进行从小到大排序,区别是ArrayMap的key是hash值。

    总结
    因为ArrayMap与SparseArray内部都使用了二分法进行从小到大的排序,所以当数据量很大的时候,效率至少降低一半,所以谷歌推荐数据量在千级以内时使用ArrayMap与SparseArray,数据量非常大时使用HashMap。

    相关文章

      网友评论

          本文标题:android中的集合

          本文链接:https://www.haomeiwen.com/subject/hzircftx.html