Java BitSet flip()方法与示例

BitSet类flip()方法

语法:

    public void flip(int bit_in);
    public void flip(int st_in, int en_in);
  • flip()方法在java.util包中可用。

  • flip(int bit_in)方法用于将给定位索引处的位设置为其当前设置值的反方向。

  • flip(int st_in,int en_in)方法用于将给定st_in(起始索引)和en_in(结束索引)的范围内的每一位设置为其当前设置值的倒数。

  • flip(int bit_in)方法在分配索引时可能会引发异常。
    IndexOutOfBoundsException:如果给定索引不在范围内,则可能抛出此异常。

  • flip(int st_in,int en_in)方法在分配索引时可能会引发异常。
    IndexOutOfBoundsException:如果st_in,en_in小于0或st_in> en_in,则可能引发此异常。

  • 这些是非静态方法,因此可以通过类对象进行访问,如果尝试使用类名称访问这些方法,则会收到错误消息。

参数:

  • 在第二种情况下,flip(int bit_in)

    • int bit_in –表示此BitSet中要翻转的位的索引。

  • 在第三种情况下,flip(int st_in,int en_in)

    • int st_in –表示要翻转的起始位的索引。

    • int en_in –表示要翻转的结束位之后的索引。

返回值:

在所有情况下,该方法的返回类型都是空的,它什么也不返回。

示例

//Java程序演示的例子
//flip()BitSet的void方法

import java.util.*;

public class Flip {
    public static void main(String[] args) {
        //创建一个BitSet对象
        BitSet bs = new BitSet(10);

        //通过使用set()方法是设置
        //BitSet中的值 
        bs.set(10);
        bs.set(20);
        bs.set(30);
        bs.set(40);
        bs.set(50);

        //显示位集
        System.out.println("bs: " + bs);

        //通过使用flip(int bit)方法可以
        //从位集中翻转匹配位
        bs.flip(30);

        //显示位集 
        System.out.println("bs.flip(30): " + bs);

        //通过使用flip(int st_bit,int en_bit)方法 
        //是翻转从st_bit开始到 
        //从位集中en_bit之前
        bs.flip(20, 40);

        //显示位集 
        System.out.println("bs.flip(20,40): " + bs);
    }
}

输出结果

bs: {10, 20, 30, 40, 50}
bs.flip(30): {10, 20, 40, 50}
bs.flip(20,40): {10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 50}