📜  Java中的Java .util.BitSet.clear()

📅  最后修改于: 2022-05-13 01:55:24.387000             🧑  作者: Mango

Java中的Java .util.BitSet.clear()

clear() 方法有三种变体:

  1. clear() : clear() 方法将此 BitSet 中的所有位设置为 false。
    public void clear()
    Return Value
    This method does not return a value.
    
    // Java code to demonstrate the working
    // of clear() in BitSet
    import java.util.*;
    public class BitClr1 {
    public static void main(String[] args)
        {
      
            // Declaring Bitset
            BitSet bset = new BitSet(8);
      
            // assigning values to bitset
            for (int i = 0; i < 5; i++)
                bset.set(i);
      
            // printing original bitset
            System.out.println
            ("The bitset before clear() operation is : " + bset);
      
            // using clear() to clear contents of bitset
            bset.clear();
      
            // printing bitset after clear() operation
            // empty bitset
            System.out.println
            ("The bitset after clear() operation is : " + bset);
        }
    }
    

    输出:

    The bitset before clear() operation is : {0, 1, 2, 3, 4}
    The bitset after clear() operation is : {}
    
  2. clear(int pos) : clear(int pos) 方法将索引指定的位设置为 false。即从 bitset 中删除
    public void clear(int pos)
    Parameters
       pos : the index of the bit to be cleared.
    Return Value
    This method does not return a value.
    Exception
       IndexOutOfBoundsException : if the specified index is negative.
    
    // Java code to demonstrate the working
    // of clear(int pos) in BitSet
    import java.util.*;
    public class BitClr2 {
    public static void main(String[] args)
        {
      
            // Declaring Bitset
            BitSet bset = new BitSet(8);
      
            // assigning values to bitset
            for (int i = 0; i < 5; i++)
                bset.set(i);
      
            // printing original bitset
            System.out.println
            ("The bitset before clear(pos) operation is : " + bset);
      
            // using clear(pos) to clear element at specified position
            bset.clear(3);
      
            // printing bitset after clear(pos) operation
            // removes 3
            System.out.println
            ("The bitset after clear(pos) operation is : " + bset);
        }
    }
    

    输出:

    The bitset before clear(pos) operation is : {0, 1, 2, 3, 4}
    The bitset after clear(pos) operation is : {0, 1, 2, 4}
    
  3. clear(int frompos, int topos) : clear(int frompos, int topos) 方法将指定 frompos(包括)到指定 topos(不包括)的位设置为 false,即在范围内执行删除
    public void clear(int frompos, int topos)
    Parameters
        frompos : index of the first bit to be cleared
        topos : index of the last bit to be cleared
    Return Value
    This method does not return a value.
    Exception
        IndexOutOfBoundsException: if frompos is negative, 
    or topos is negative, or frompos is larger than topos.
    
    // Java code to demonstrate the working
    // of clear(int frompos, int topos) in BitSet
    import java.util.*;
    public class BitClr3 {
    public static void main(String[] args)
        {
      
            // Declaring Bitset
            BitSet bset = new BitSet(8);
      
            // assigning values to bitset
            for (int i = 0; i < 5; i++)
                bset.set(i);
      
            // printing original bitset
            System.out.println
            ("The bitset before clear(frompos, topos) operation is : " + bset);
      
            // using clear(frompos, topos) to clear elements in range
            bset.clear(2, 4);
      
            // printing bitset after clear(frompos, topos) operation
            // removes 2, 3
            System.out.println
            ("The bitset after clear(frompos, topos) operation is : " + bset);
        }
    }
    

    输出:

    The bitset before clear(frompos, topos) operation is : {0, 1, 2, 3, 4}
    The bitset after clear(frompos, topos) operation is : {0, 1, 4}