SparseArray 你不知道的东西

一、SparseArray

1.类似HashMap的容器,但HashMap的key和value为泛型,而SparseArray的key只能为int类型,value值为Object类型。因为key只能为int类型,因此无法直接存储null作为key值。
内部有2个数组分别存储key和value。
    private int[] mKeys;
    private Object[] mValues;

2.通过二分法来查询、添加、删除、更新数据。

3.在并发环境下是线程安全的。

4.适用于数据流不是很大的场景,因为SparseArray内部使用数组存储数据,在处理大量数据时可以会有性能瓶颈。

5.与HashMap相比,SparseArray存储键为int类型时更高效,因为它避免了自动装箱(AutoBoxing)与自动拆箱(AutoUnboxing),并能更好的处理大量空值(null values)的情况。

6.SparseArray内部优化了对空值的处理,当值(value)为空时,它将自动从SparseArray中删除,不会占用额外的空间。


二、SparseBooleanArray,SparseIntArray,SparseLongArray

1.SparseBooleanArray,SparseIntArray,SparseLongArray这3个类相对SparseArray来说就是key类型是一样的为int,但value类型不同。SparseBooleanArray的value为boolean类型,SparseIntArray的value为int类型,SparseLongArray的value为long类型。

2.这3个类的value的类型boolean、int、long都是小写的,意味着它们是基本类型,而不是封装类型。
 


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

相关推荐

  1. SparseArray 知道东西

    2024-07-21 11:28:02       16 阅读
  2. 知道CSS函数:attr() 深度探索

    2024-07-21 11:28:02       30 阅读
  3. CSS中那些知道选择器

    2024-07-21 11:28:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 11:28:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 11:28:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 11:28:02       45 阅读
  4. Python语言-面向对象

    2024-07-21 11:28:02       55 阅读

热门阅读

  1. Python面试题:Python中的记忆化与缓存技术

    2024-07-21 11:28:02       15 阅读
  2. nginx的配置

    2024-07-21 11:28:02       14 阅读
  3. Choosing The Commander

    2024-07-21 11:28:02       18 阅读
  4. 测试人员如何进行需求分析

    2024-07-21 11:28:02       18 阅读
  5. 设计模式--模板方法

    2024-07-21 11:28:02       16 阅读
  6. 使用winget安装git

    2024-07-21 11:28:02       19 阅读
  7. [C/C++入门][for]22、输出奇偶数之和

    2024-07-21 11:28:02       17 阅读
  8. 科普文:CodeReview小结

    2024-07-21 11:28:02       17 阅读