✅什么是BitMap?有什么用?

✅什么是BitMap?有什么用?

典型回答

位图(BitMap),基本思想就是用一个bit来标记元素,bit是计算机中最小的单位,也就是我们常说的计算机中的0和1,这种就是用一个位来表示的。

所谓位图,其实就是一个bit数组,即每一个位置都是一个bit,其中的取值可以是0或者1

像上面的这个位图,可以用来表示1,,4,6:

如果不用位图的话,我们想要记录1,4,,6 这三个整型的话,就需要用三个unsigned int,已知每个unsigned int占4个字节,那么就是34 = 12个字节,一个字节有8 bit,那么就是 128 = 96 个bit。

所以,位图最大的好处就是节省空间。


位图有很多种用途,特别适合用在去重、排序等场景中,著名的布隆过滤器就是基于位图实现的。

✅什么是布隆过滤器,实现原理是什么?

但是位图也有着一定的限制,那就是他只能表示0和1,无法存储其他的数字。所以他只适合这种能表示true or false的场景。

知识扩展

什么是BitSet

✅Set是如何保证元素不重复的