Java学习笔记(九) Bitset

本文介绍了Java中 BitSet 的使用,包括如何创建、操作单个位和整个集合,以及其大小和基本功能。BitSet 提供了高效且内存节省的方式来处理位数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bitset

bitset是Java的collections中不太常用的,它提供了高效的位操作的方法。


创建bitset

public BitSet()
public BitSet(int nbits)

默认情况下初始是64位,如果设定了大小,那么会创建一个容量为最接近设定值的64的整数倍的空间的bitset


操作bitset

既可以对于bitset里的某一位进行操作,也可以针对整个bitset进行操作。

操作单个bit

函数名称作用
public void set(int position)对某一位设置1
public void clear(int position)对某一位设置0
public boolean get(int position)获取某一位的当前值

如果下标不存在,会抛出异常IndexOutOfBoundsException

操作整个bitset

函数名称作用
public void and ( BitSet set )this[index] &= set[index]
public void or ( BitSet set )this[index]
public void xor ( BitSet set )this[index] ^= set[index]
public void andBot ( BitSet set )this[index] &= ~set[index]

注意:
如果两个bitset的位数不相同,采取如下方式进行操作:
- and():如果参数的位数大于this的位数,那么参数多余的位数被忽略。如果this的位数大于参数的位数,那么参数的不足位用0补足。
- or\xor():不管什么情况,都是用0补足不够的位数。
- andNot():多余的位数全被忽略。


获取bitset的大小

函数名称作用
size()获取bitset占用的capacity()
length()获得被设置值的bitset的长度

类基本的功能:

函数名称作用
clone()获取bitset的一个拷贝
equals()判断两个bitset是否相等,较短的bitset的长度内相等则认为相等
hashCode()获得一个bitset的哈希函数的值

bitset虽然不怎么常用,但是在记录状态的时候还是有很大优势的~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值