首页 > 编程语言 >无涯教程-Java - BitSet 类函数

无涯教程-Java - BitSet 类函数

时间:2023-12-18 14:31:36浏览次数:27  
标签:Java int void 无涯 startIndex BitSet bits1 bits2

BitSet类创建一种特殊的数组,其中包含位值, BitSet数组可以根据需要增加大小,这使其类似于位向量,这是一个旧类,但已在Java 2版本1.4中进行了重新设计。

BitSet定义以下两个构造函数。

Sr.No. Constructor & Remark
1

BitSet()

该构造函数创建一个默认对象。

2

BitSet(int size)

此构造函数允许您指定其初始大小,即它可以容纳的位数。所有位均初始化为零。

BitSet实现Cloneable接口并定义下表中列出的方法-

Sr.No. Method & Remark
1

void and(BitSet bitSet)

将调用BitSet对象的内容与bitSet指定的内容进行"与"运算。

2

void andNot(BitSet bitSet)

对于bitSet中的每个1位,将清除调用BitSet中的相应位。

3

int crdinality()

返回调用对象中设置的位数。

4

void clear()

将所有位清零。

5

void clear(int index)

将索引指定的位清零。

6

void clear(int startIndex,int endIndex)

将从startIndex到endIndex的位清零。

7

Object clone()

复制调用BitSet对象。

8

boolean equals(Object bigSet)

如果调用位集等于在bitSet中传递的位,则返回true。否则,该方法返回false。

9

void flip(int index)

反转索引指定的位。

10

void flip(int startIndex,int endIndex)

将位从startIndex反转为endIndex。

11

boolean get(int index)

返回指定索引处的位的当前状态。

12

BitSet get(int startIndex,int endIndex)

返回一个BitSet,其中包含从startIndex到endIndex的位。

13

int hashCode()

返回调用对象的hashCode。

14

boolean intersects(BitSet bitSet)

如果调用对象和bitSet中的至少一对对应位为1,则返回true。

15

boolean isEmpty()

如果调用对象中的所有位均为零,则返回true。

16

int length()

返回保存调用BitSet的内容所需的位数。

17

int nextClearBit(int startIndex)

从startIndex指定的索引开始,返回下一个清除位(即下一个零位)的索引。

18

int nextSetBit(int startIndex)

从startIndex指定的索引开始,返回下一个设置位(即下一个1位)的索引。如果未设置任何位,则返回-1。

19

void or(BitSet bitSet)

将调用BitSet对象的内容与bitSet指定的内容进行"或"运算。

20

void set(int index)

设置索引指定的位。

21

void set(int index,boolean v)

将index指定的位设置为v中传递的值。True设置该位,false清除该位。

22

void set(int startIndex,int endIndex)

设置从startIndex到endIndex的位。

23

void set(int startIndex,int endIndex,布尔v)

设置从startIndex到endIndex的位,直到v中传递的值。true设置位,false清除位。

24

int size()

返回调用BitSet对象中的位数。

25

String toString()

返回与调用BitSet对象等效的字符串。

26

void xor(BitSet bitSet)

X将调用BitSet对象的内容与bitSet指定的内容进行"或"运算。输出放入调用对象中。

BitSet 示例

以下程序说明了此数据结构支持的几种方法-

import java.util.BitSet;
public class BitSetDemo {

  public static void main(String args[]) {
      BitSet bits1=new BitSet(16);
      BitSet bits2=new BitSet(16);
      
      //设置一些位
      for(int i=0; i < 16; i++) {
         if((i % 2) == 0) bits1.set(i);
         if((i % 5) != 0) bits2.set(i);
      }
     
      System.out.println("Initial pattern in bits1: ");
      System.out.println(bits1);
      System.out.println("\nInitial pattern in bits2: ");
      System.out.println(bits2);

      //与位
      bits2.and(bits1);
      System.out.println("\nbits2 AND bits1: ");
      System.out.println(bits2);

      //或位
      bits2.or(bits1);
      System.out.println("\nbits2 OR bits1: ");
      System.out.println(bits2);

      //异或位
      bits2.xor(bits1);
      System.out.println("\nbits2 XOR bits1: ");
      System.out.println(bits2);
   }
}

这将产生以下输出-

Initial pattern in bits1:
{0, 2, 4, 6, 8, 10, 12, 14}

Initial pattern in bits2:
{1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14}

bits2 AND bits1:
{2, 4, 6, 8, 12, 14}

bits2 OR bits1:
{0, 2, 4, 6, 8, 10, 12, 14}

bits2 XOR bits1:
{}

参考链接

https://www.learnfk.com/java/java-bitset-class.html

标签:Java,int,void,无涯,startIndex,BitSet,bits1,bits2
From: https://blog.51cto.com/u_14033984/8873524

相关文章

  • Java设计模式之七大设计原则
    七大设计原则设计原则概述单一职责原则定义一个类仅有一个引起它变化的原因分析模拟场景访客用户普通用户VIP用户代码实现/***视频用户接口*/publicinterfaceIVideoUserService{​  voiddefinition();​  voidadvertisement();}​/***......
  • Java工具库中字符串判空方法知多少?各有什么区别?
    SpringFramework库在SpringBoot项目中,通常情况下,你不需要额外引入依赖来使用SpringFramework库中的常用工具方法,这是因为SpringBoot的起步依赖已经包含了SpringFramework的核心库,其中包括org.springframework.util包。这个用起来就很方便。在这里面有两个常用的方法:StringUtil......
  • 无涯教程-Java - Enumeration 枚举接口函数
    Enumeration接口定义了可以枚举对象集合中的元素的方法。下表总结了Enumeration声明的方法-Sr.No.Method&Remark1booleanhasMoreElements()当实现时,必须在提取更多元素时返回true,而在列举所有元素时返回false。2ObjectnextElement()这将返回枚举中的下一个对象......
  • Java | 多线程并发编程CountDownLatch实践
    关注:CodingTechWork引言  在一次数据割接需求中,数据需要通过编程的方式进行转移割接到新平台,此时若串行化方式,无疑会拉锯此次战斗,所以首当其冲要使用并发编程来降低割接时长。  本次主要考虑使用CountDownLatch工具类进行并发编程的控制。CountDownLatch概述  在并发编程过程......
  • 无涯教程-Java's Built-in Exceptions函数
    Java在标准包java.lang中定义了几个异常类。这些异常中最通用的是标准类型RuntimeException的子类。由于java.lang被隐式导入所有Java程序中,因此从RuntimeException派生的大多数异常都是自动可用的。Java定义了与其他各种类库相关的几种其他类型的异常。以下是JavaUnchecke......
  • idea java import 规范化
    参考官方配置文件功能介绍一些标准会针对import的顺序、import*的使用有一定的要求,为了避免手动调整的窘境,可以通过idea基础配置,来实现import的自动格式化、规范化。配置路径:Settings-->Editor-->CodeStyle-->Java-->Imports选项内容解析:Layoutstaticimportsseparat......
  • Java互联网+公立医院绩效考核源码
    一、建设信息化医院绩效考核的意义1.提高考核效率:通过信息化手段,可以将绩效考核数据自动采集、整理、分析和报告,大大提高了考核效率,减少了人工干预和错误率。2.增强考核公正性:信息化考核可以减少人为因素的干扰,使考核更加公正、客观。同时,通过数据共享,可以增强考核结果的透明度和......
  • 暹罗外卖开源啦,一款java多商户外卖系统-商家入驻如美团饿了么
    暹罗外卖v1.0基于Vue/ElementUI和SpringCloud&Alibaba前后端分离的分布式微服务架构前言微信公众号【暹罗siam】,未来将会在公众号上持续性的输出很多原创小知识以及学习资源,欢迎各位小伙伴关注我,和我一起共同学习,同时我也希望各位小伙伴能够给暹罗外......
  • 无涯教程-Java - ByteArrayOutputStream函数
    ByteArrayOutputStream类流在内存中创建一个缓冲区,所有发送到该流的数据都存储在该缓冲区中。以下是ByteArrayOutputStream类将提供的构造函数的列表。Sr.No.Constructor&Remark1ByteArrayOutputStream()此构造函数创建一个具有32字节缓冲区的ByteArrayOutputStream。......
  • 流畅的orm让我发现我抵触的是mybatis而不是java
    流畅的orm让我发现我抵触的是mybatis而不是java背景介绍开发.net也快10年了,到第三年的时候我已经渐渐瓶颈了,于是我在网上找各种资料但是大部分c#资料全是皮毛资料,稍微深一点点就再讲表达式expression,感觉完全没有那个深度,但是同时期的java讲解的都是基本原理,和框架思......