Android SparseArray(稀疏数组)

发布时间:2016-12-9 8:27:50 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Android SparseArray(稀疏数组)",主要涉及到Android SparseArray(稀疏数组)方面的内容,对于Android SparseArray(稀疏数组)感兴趣的同学可以参考一下。

       所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采用一种压缩的方式来表示稀疏数组的内容。        在Android开发中,当我们定义一个HashMap<Integer,Object>对象时,编译器会给我们如下提示:              我们再看下Android官方文档中关于SparseArray<E>的解释:        翻译过来就是:稀疏数组是用来将整型数映射到对象的数据结构。它不像一般的对象数组,可以有差距指数。它是用来更高效的进行整数和对象类型之间的映射。       其操作方法和HashMap基本类似,值得注意的是 它在存储时使用二分查找法进行存储,其插入源码如下: private static int binarySearch(int[] a, int start, int len, int key) {      int high = start + len;      int low = start - 1;          while (high - low > 1) {          int guess = (high + low) / 2;              if (a[guess] < key) {              low = guess;              continue;          }          high = guess;      }          if (high == start + len)          return start + len ^ 0xFFFFFFFF;      if (a[high] == key) {          return high;      }      return high ^ 0xFFFFFFFF;  }   所以,它存储的数值都是按键值从小到大的顺序排列好的。     总结:此数据结构是经过Android重写过,建议大家在Android开发中如遇到HashMap<Integer,Object>数据结构时,采用此数据结构进行开发。

上一篇:肉眼判讀特徵向量
下一篇:使用POI操作Excel和Word

相关文章

相关评论