BitMap

201 阅读1分钟

BitMap简介

1.1、BitMap是什么

BitMap从底层数据结构来说就是以 bit 作为 map 来存储数据。

其基本思想就是用一个bit位来表示数据存储,其key即为元素数据,其value即为bit位标识也就是 0 或者 1。

1.2、BitMap的优势

在计算机科学中,bit是表示信息的最小单位,叫做二进制位。因此其在存储空间层面,具有很大优势。

假设有以下需求:

在20个随机整数中找出某个数m是否存在其中,并假设设备是32位操作系统,4G内存

在java中,int占4字节,1字节=8位(1 byte = 8 bit)

如果使用int存储,20亿个int将占用的空间约为 :

{2000000000*4(Byte)/1024(K)/1024(M)/1024(G)} ≈ 7.45G

如果按位存储,20亿个bit将占用的空间约为 :

{2000000000(bit)/8(Byte)/1024(K)/1024(M)/1024(G)} ≈ 0.233G

由上述数据可得知,使用int是使用bit所占空间的 (4*8) = 32倍