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. 合并区间 中有所应用

  • 相关阅读:
    PKU1008
    PKU 1007
    PKU 3983
    PKU 1005
    PKU1004
    PKU 1003解题
    new.target
    debugger 关键字
    React 高阶组件
    CSS|规范
  • 原文地址:https://www.cnblogs.com/gagag/p/14056389.html
Copyright © 2011-2022 走看看