面试官问:BitMap了解么?
程序员的成长之路
共 966字,需浏览 2分钟
· 2020-12-17
阅读本文大概需要 7 分钟。
来自:https://www.cnblogs.com/cjsblog/p/11613708.html
Bit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。(PS:划重点 节省存储空间)
添加
清除
查找
Bitmap有什么用
快速排序
运算效率高,不需要进行比较和移位; 占用内存少,比如N=10000000;只需占用内存为N/8=1250000Byte=1.25M
所有的数据不能重复。即不可对重复的数据进行排序和查找。 只有当数据比较密集时才有优势
快速去重
快速查找
小结&回顾
补充1
补充2
// 方式一
a = a + b;
b = a - b;
a = a - b;
// 方式二
a = a ^ b;
b = a ^ b;
a = a ^ b;
BitSet
int wordIndex = wordIndex(bitIndex);
words[wordIndex] |= (1L << bitIndex);
Bloom Filters
BloomFilter 流程
com.google.guava
guava
28.1-jre
推荐阅读:
Intellij IDEA 竟然把 Java8 的数据流问题这么完美的解决掉了!
微信扫描二维码,关注我的公众号
朕已阅
评论