开发中,HashMap使用非常频繁,而HashMap是Java官方API,针对Android移动平台,性能并不合适,所以Google针对Android平台,推出了功能相同,更节省内存的SparseArray,

  that may contain large numbers of items.  It is generally slower than a traditional  HashMap, since lookups require a binary search and adds and removes require inserting  and deleting entries in the array.  For containers holding up to hundreds of items,  the performance difference is not significant, less than 50%.

```API提出,通常情况下,在处理大量数据时,SparseArray速度比HashMap要慢,因为查找需要二进制搜索,并添加和删除需要插入和删除数组中的条目,但是性能最多不会低于50%,从字面理解,使用SparseArray牺牲了效率,为什么效率比HashMap低,反而官方推荐使用呢?因为可以节省内存,内存的消耗相对于效率,更为重要,所以在综合之下,推荐使用SparseArray----- ####使用######克隆

SparseArray clone() //复制```

添加
 void put(int key, E value) append(int key, E value)  //内部也是调用put方法
删除
void delete(int key)void remove(int key)  void removeAt(int index)void clear()  //清除全部//remove方法内部实际调用delete方法,public void remove(int key) {        delete(key); }

根据指定键删除,并且返回值

E removeReturnOld(int key)```从某个键开始,删除指定个数

void removeAtRange(int index, int size)```

查找
E get(int key)E get(int key, E valueIfKeyNotFound) //第二参数即key取不到值时的默认值```查看第几个位置的键:

int keyAt(int index)```
查看第几个位置的值:

E valueAt(int index)```查看某个键所在位置

int indexOfKey(int key)```
查看某个值所在位置

 int indexOfValue(E value```######修改

void setValueAt(int index, E value)
void put(int key, E value) //put不仅添加还可以修改键值对,注意:如果键不存在,就会变为添加新键值对```

更多相关文章

  1. Android(安卓)FFmpeg开发(三)JNI访问Java变量和方法
  2. android 动态改变控件的位置的方法
  3. android属性动画,property animation-android property an
  4. Android菜单定制总结
  5. Android(安卓)使用弹出对话框,报Unable to add window错误
  6. 拍照-----------android系统 至关重要的功能
  7. Android程序全屏方法
  8. Android(安卓)webView自适应屏幕
  9. [Android]Recovery调用外部Shell脚本,Shell脚本使用ui_print方法

随机推荐

  1. Android微信支付功能集成【全攻略】
  2. 如何使用Android命令
  3. Android(安卓)targetSDK升级到28,gradle升
  4. Android(安卓)绘制圆形图片
  5. Android(安卓)极光推送快速开发集成指南
  6. Android中GridView的使用——使用自带的S
  7. Android应用平均价格是iOS应用的2.5倍
  8. 安卓Android的系统架构详细解析
  9. Android操作JNI函数以及复杂对象传递
  10. 【转】制作不暴露源码的Android(安卓)Lib