1711040554BitMap位图 中发帖

一、BitMap介绍
BitMap,即位图,使用每个位表示某种状态,适合处理整型的海量数据。本质上是哈希表的一种应用实现,原理也很简单,给定一个int整型数据,将该int整数映射到对应的位上,并将该位由0改为1。例如: 
//存在一个int整型数组
int[] arr = new int[]{6,2,7,14,3};

arr数组中最大值为14,考虑位的下标从0开始,需要长度为15的bit,因此每个bit代表着0~14的整数,如图所示: 
 [image] 
很显然,使用 BitMap 存储这个数组只使用了使用15bit,而使用 HashSet 或 HashMap 的话,一个数组元素会存储为一个int,而一个int4byte,即48=32bit,这里有5个数组元素则需要532=160bit,这样的话,使用 BitMap 存储一个元素则可以节省32倍的内存 空间。因此,BitMap 的优...
 
 
Back to Top