引入一个小栗子来帮助理解一下:
假如我们要存储三个int数字 (1,3,5),在java中我们用一个int数组来存储,那么占用了12个字节.但是我们申请一个bit数组的话.并且把相应下标的位置为1,也是可以表示相同的含义的...他的优点有:
节省内存. -> 因此在大数据量的时候更加显著.
与或运算效率高. ->可以快速求交集和并集....Java中的位图
上面讲了位图的原理,那么我们先来自己手动实现一个!...在EWAHCompressedBitmap中,数据也是使用long数组来保存的,不过对每一个long有类别的定义,Literal Word和Running Length Word....Java语言使用者广泛,因此对于位图的实现,网上各种版本都有,既有大厂维护的开源版本,也有个人编写的版本.在使用时也不用完全局限于EWAHCompressedBitmap,可以使用各种魔改版本,由于位图的实现逻辑不是特别复杂