一、简单介绍
BitSet顾名思义,就是用位来存储数据,即存储0/1,0/1就可以作为标志位,巧妙的利用0/1就可以解决很多不同的问题。BitSet一般用于处理海量数据,可以大大的节省空间,比如有0~99共一百个数,用int来存储,就要用32*100bit,而用BitSet来存储,只利用100bit即可,当数据量达到千万,亿级别时,BitSet的优势更明显。
JDK API:
BitSet类实现了一个按需增长的位向量。位Set的每一个组件都有一个boolean值。用非负的整数将BitSet的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个 BitSet修改另一个 BitSet的内容。
二、使用
(1)BitSet位于java.util这个包中,使用时需导入java.util.BitSet
(2)两个构造函数:
BitSet bs = new BitSet(); //默认大小64位
BitSet bs = new BitSet(n); //一个n位大小的set
(3)常用的方法:
boolean get(int index) 返回索引index处的位值 |
void set(int index) |