您的位置:首页 > 其它

SparseArray稀疏数组浅析

2016-03-30 15:42 525 查看

简介

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<index+size
⑤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里为
<Integer,Object>
这样的HashMap专门写的类,目的是提高效率,其核心是折半查找方法binarySearch()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: