SparseIntArray是安卓SDK用来替换hashmap的类。
机制一:避免自动装箱和额外的entry类存储数据,即减少内存开销;这是SparseIntArray的优势。
机制二:使用两个数组存储key和value,其中key数组为有序表且已二分查找算法查找(核心代码);查找效率自然没有hashmap高,这是劣势。
虽然效率稍低,但在数据一百以下的少量数据的情况下效率还是持平的;而安卓应用大部分场景的数据都是偏少的,所以这个类就非常符合安卓应用。这也就是为什么它能代替hashmap。
下面截几张源码,无非就是增删改查。