美文网首页
BitSet简介

BitSet简介

作者: 瓢鳍小虾虎 | 来源:发表于2021-08-16 17:25 被阅读0次

基本原理和用途
BitSet即位图,是一个很长的“0/1”序列,他的功能就是存储0或者1。

他的这个特点使得在java环境中存储一个数要比直接存一个int节省很多内存空间(一个int占4个字节32位,而用BItSet“存放”一个数只需要1个位)。

比如我们有{1,3,5,7}需要存放,内存中占用了4个int的长度即32*4(bit),如果使用BitSet,就是这个样的[...,1,0,1,0,1,0,1],只需要占用几个bit就可以表示。1个G的内存有8 * 1024 * 1024 * 1024 = 8.58 * 10^9个bit,也就是可以存放85亿+个数。

BitSet的初始大小为1个long的大小,即8字节64个bit。如果我们创建的BitSet指定了位数,系统会根据情况取成64的整数倍个bit,即整数个long的位数,这样做是为了内存补齐。

BitSet适合用于无重复,整数,常用于大数据场景或者日志统计。

参考文章:
Java中BitSet的使用及详解

相关文章

  • BitSet简介

    基本原理和用途BitSet即位图,是一个很长的“0/1”序列,他的功能就是存储0或者1。 他的这个特点使得在jav...

  • bitset

    首先看看bitset的定义: A bitset stores bits (elements with only t...

  • JAVA集合类

    Vector,BitSet,Stack,Hashtable

  • bitset(位图)原理与用法

    分享自我的微信订阅号“猿in”,可以搜索关注。 Bitset基础 介绍 bitset(bitmap)也就是位图,由...

  • BitSet

    题目: 有1千万个随机数,随机数的范围在1到1亿之间。现在要求写出一种算法,将1到1亿之间没有在随机数中的数求出来...

  • BitSet

  • Java Bitset类

    一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。这和位向量(vector ...

  • BitSet实现原理及源码解析

    BitSet的结构原理 BitSet, 是Java对位集合抽象出的一种数据结构。它的内部维护了一个long数组,数...

  • JavaSE学习笔记——基本数据结构

    BitSet类BitSet,也就是位图,可以用比较紧凑的格式来表示给定范围的连续数据,最常见的应用就是那些需要对海...

  • C++ bitset用法

    bitset是C++语言的一个类库,用来方便地管理一系列的bit位。使用bitset需要导入头文件:#includ...

网友评论

      本文标题:BitSet简介

      本文链接:https://www.haomeiwen.com/subject/eafevltx.html