,如果我们只有两个用户,1号和100000000号用户,那么直接存储int需要8个字节也就是32个bit,而用位图存储需要1亿个bit.当数据量少,且跨度极大也就是稀疏的时候,原生的位图不太适合....true/fasle的时候,处理逻辑是不同的.具体的逻辑见上面简陋版本中的示例.
get方法
BitSet提供了一个获取单个位置bit值的方法,以及一个范围获取,返回一个新的BitSet的方法....Literal Word: 存储真正的bit位.
Running Length Word: 存储跨度信息.
什么是跨度信息呢?...用户标签等数据
大数据已经很普遍了,用户画像大家也都在做,这时候需要根据标签分类用户,进行存储.方便后续的推荐等操作....如:
用户 0 1 2 3 4 5 6 7 8
爱旅游 1 0 0 1 0 0 1 0 0
可以清晰的统计出,0,3,6用户喜欢旅游.