专业编程基础技术教程

网站首页 > 基础教程 正文

100个Java工具类之62:位图BitSet 位图技术

ccvgpt 2024-12-18 12:35:36 基础教程 1 ℃

java.util.BitSet,字面意思是位集合,含义是位图,这个类笔者是从来没有使用过,即使是在jdk源码中,我们也无法看到相关释义,通过参考各方资料,笔者将一些有用的信息给列举一下。

该类用于存储和操作二进制位,可以创建一组位,每个位表示1或0,可以理解为true和false。它的最大优点就是:对位可以极高效地操作。

100个Java工具类之62:位图BitSet 位图技术

因此,可以用位图做一些大数据量的统计,节省内存,提高效率。

下面主要列举一些简单的用法。

一、创建与清除

BitSet bit1 = new BitSet();
bit1.set(0);
bit1.set(1);
bit1.clear(1);

二、一个BitSet中删除另一个BitSet中的所有位。

BitSet bit1 = new BitSet(16);
BitSet bit2 = new BitSet(16);
bit1.set(1);
bit1.set(2);
bit2.set(2);
bit1.andNot(bit2);

三、高效位操作

//创建了一个包含1000万个位的BitSet
BitSet bigInt = new BitSet(10000000); 
//设置第900000位为1
bigInt.set(9000000); 

说实话,对于这个BitSet,笔者也是一知半解,轻点喷~

Tags:

最近发表
标签列表