教你用BitMap排序、查找和存储大量数据

Bit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。

Bit-map概述

假设现在有这样一个需求:在20亿个随机整数中找出某个数是否存在其中,并假设32位操作系统,4G内存,你会怎么做?我们知道在java中,一个int占4字节,1字节=8位(1 byte = 8 bit),如果每个数字用int存储,那就是20亿个int,因而占用的空间约为:

2000000000*4/1024/1024/10247.45 G

显然消耗的内存空间太多了。如果按位存储就不一样了,20亿个数就是20亿位,占用空间约为:

2000000000/8/1024/1024/10240.23 G

那么使用Bit-map到底是怎么来存储的以及它的过程是什么样子的呢?接下里带大家一起研究一下。
在最开始的时候我们说过,Bit-map每一位表

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序届的伪精英

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值