SparseArray代替HashMap<Integer,Object>
SparseArray是Android框架独有的类,在标准的JDK中不存在这个类。他要比HashMap节省内存,某些情况下比
其默认的大小是10
增
put(int key,E value)
append(int key,E value)
在存储数据的时候,是采用了二分法方式,所以他存储的数值都是按键值从小到大的顺序排好的
查
public E get(int key)
public E get(int key,E valueIfKeyNotFound)
public int keyAt(int index)查看第几个位置的键
public E valueAt(int index)查看第几个位置的值
SparseArray是Android框架独有的类,在标准的JDK中不存在这个类。他要比HashMap节省内存,某些情况下比
HashMap的性能更好,主要是因为SpareArray不需要对key和value进行auto-boxing(将原始类型封装成对象类型,
如把int类型封装成Integer类型),结构比HashMap简单(SparseArray内部主要使用两个一维数组来保存资源,
一个用来保存key,一个用来存value)不需要额外的数据结构。核心是二分查找。其默认的大小是10
增
put(int key,E value)
append(int key,E value)
在存储数据的时候,是采用了二分法方式,所以他存储的数值都是按键值从小到大的顺序排好的
查
public E get(int key)
public E get(int key,E valueIfKeyNotFound)
public int keyAt(int index)查看第几个位置的键
public E valueAt(int index)查看第几个位置的值