SparseArray稀疏数组浅析

简介

SparseArray指的是稀疏数组,是Android中对HashMap的性能优化。所谓稀疏数组就是数组中的大部分的内容值都未被使用或者都为0,在数组中仅有少部分的空间使用。因此造成了内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采用一种压缩的方式来表示稀疏数组的内容。

构造方法

它和一般的list一样,可以预先设置容器的大小,默认大小是10。

增删改查

增加,添加键值对

①put(int key,E value);  //存在,修改;不存在,添加
②append(int key,E value);

删除操作

①delete(int key);  
②remove(int key);  //直接调用delete()
③removeAt(int key);
④removeAtRange(int index,int size) //范围在:index<=X
⑤clear()

修改数据

①setValueAt(int key,E value);  
②put(int key,E value);  //先查找数据是否存在,若存在就修改;若不存在就添加

查询数据

①get(int key);  //调用get(int key,null)
②get(int key,E valueIfKeyNotFound); 

查找键和值

int keyAt(int index)  //查看第几个位置的键
E value(int index) //查看第几个位置的值

核心

其核心是二分查找
位置在:android.util.ContainerHelper.binarySearch()

SparseArray是Android里为这样的HashMap专门写的类,目的是提高效率,其核心是折半查找方法binarySearch()。

你可能感兴趣的:(Android学习笔记,数据结构)