zoukankan      html  css  js  c++  java
  • Java中BitSet的基本用法

    JAVA中BitSet就是“位图”数据结构,根据“位图”的语义,数据的存在性可以使用bit位上的1或0来表示;一个bit具有2个值:0和1,正好可以用来表示false和true

    通俗地讲,这个类中维护了一个long型(8字节)的数组,一个long占8个字节,也就是64位。

    BitSet bitSet = new BitSet();
    bitSet.set(0, 2, true);
    

    上面的代码的含义是,第[0,2)位会被设置成1,也就是说这个类会自动地生成一个long型的数(words[0] = 3),这个数换成二进制的形式是 1 1

    如果bitSet.set(3, 5, true); , 第[3,5)位会被设置成1, 此时words[0] = 24, 换成二进制的形式为 1 1 0 0 0

    常用的方法有

    int nextSetBit(int startIndex) // 返回第一个设置为 true 的位的索引,在指定的起始索引或之后的索引上
    int nextClearBit(int startIndex) // 返回第一个设置为 false 的位的索引 , 在指定的起始索引或之后的索引上
    void set(int index, boolean v) // 将指定索引处的位设置为指定的值
    将指定索引处的位设置为 true

    LeetCode 56. 合并区间 中有所应用

  • 相关阅读:
    三、git管理修改
    二、git版本回退
    一、git创建版本库及提交
    24格栅格系统
    vue项目报错webpackJsonp is not defined
    vue登录注册及token验证
    react native踩坑之旅
    js判断数组是否有重复值
    react native环境搭建(含错误处理)
    python Token加密解密方式
  • 原文地址:https://www.cnblogs.com/gagag/p/14056389.html
Copyright © 2011-2022 走看看