Java.util.BitSet 类方法在 Java 中用示例| Set 2
原文:https://www . geesforgeks . org/bitset-class-methods-Java-examples-set-2/
Methods discussed in this post:
BitSet class methods.
/ / | | \ \
set() xor() clone() clear() length() cardinality()
我们强烈建议将以下第 1 组作为先决条件。 Java 中的 BitSet 类| Set 1
-
set():Java . util . bitset . set()方法是将指定索引处的位设置为指定值。 语法:
```java public void set(int bitpos) public void set(int bitpos, boolean val) Parameters: bitpos : a bit index val : a boolean value to set Return: Nothing Throws: IndexOutOfBoundsException - if the specified index is negative
```
-
clone():Java . util . BitSet . clone()方法克隆一个 BitSet,产生一个与其相等的新 BitSet。该位集的克隆是另一个位集,它具有与该位集完全相同的设为真的位。 语法:
```java public Object clone() Return: a clone of this bit set
```
-
基数:Java . util . BitSet . cardinality()方法用于查找 Bitset 中的元素个数。 语法:
public int cardinality()
Return: the number of bits set to true in this BitSet.
// Java program explaining BitSet class methods
// set(), clone(), cardinality()
import java.util.*;
public class NewClasss
{
public static void main(String[] args)
{
BitSet bs1 = new BitSet();
BitSet bs2 = new BitSet(8);
BitSet bs3 = new BitSet();
// assign values to bs1 using set()
bs1.set(0);
bs1.set(1);
bs1.set(2);
bs1.set(4);
// assign values to bs2
bs2.set(4);
bs2.set(6);
bs2.set(5);
// Here we are using .clone() method to make
// bs3 as bs1
bs3 = (BitSet) bs1.clone();
// Printing the 3 Bitsets
System.out.println("bs1 : " + bs1);
System.out.println("bs2 : " + bs2);
System.out.println("bs3 cloned from bs1 : " + bs3);
// Using .cardinality() method to print the no. of
// elements of Bitset
System.out.println("Cardinality of bs1 : " +
bs1.cardinality());
System.out.println("Cardinality of bs2 : " +
bs2.cardinality());
}
}
输出:
bs1 : {0, 1, 2, 4}
bs2 : {4, 5, 6}
bs3 cloned from bs1 : {0, 1, 2, 4}
Cardinality of bs1 : 4
Cardinality of bs2 : 3
-
clear():Java . util . BitSet . clear()方法用于清除元素,即将所有 Bitset 元素设置为 false。 语法:
```java public void clear(int frompos,int topos) public void clear(int bitIndex) public void clear() Parameters: frompos - index of the first bit to be cleared topos - index after the last bit to be cleared bitIndex - the index of the bit to be cleared Throws: IndexOutOfBoundsException - if pos value is negative or frompos is larger than topos
```
- xor() : java.util.BitSet.xor() method performs the logical Xor operation on the bitsets. This bit set is modified so that a bit in it has the value true if and only if :
- 该位最初的值为 true,参数中对应的位的值为 false。
- 该位最初的值为 false,参数中对应的位的值为 true。
语法:
```java public void xor(BitSet set) Parameters: set - the BitSet with which we need to perform operation
```
- length() : java.util.BitSet.length() method return returns logical size of the bitset. The index of the highest set bit in the bitset plus one. Returns zero if the bitset contains no set bits. Syntax:
```java public int length() Returns: the logical size of this BitSet
```
```java // Java program explaining BitSet class methods // xor(), length(), clear() methods import java.util.*; public class NewClass { public static void main(String[] args) { BitSet bs1 = new BitSet(); BitSet bs2 = new BitSet();
// assign values to bs1 using set() bs1.set(7); bs1.set(1); bs1.set(2); bs1.set(4); bs1.set(3); bs1.set(6);
// assign values to bs2 bs2.set(4); bs2.set(6); bs2.set(3); bs2.set(9); bs2.set(2);
// Printing the Bitsets System.out.println("bs1 : " + bs1); System.out.println("bs2 : " + bs2);
// use of length() method System.out.println("use of length() : " + bs1.length());
// use of xor() to perform logical Xor operation bs1.xor(bs2); System.out.println("Use of xor() : " + bs1); bs2.xor(bs1); System.out.println("Use of xor() : " + bs2);
// clear from index 2 to index 4 in bs1 bs2.clear(1, 2); System.out.println("bs2 after clear method : " + bs2);
// clear complete Bitset bs1.clear(); System.out.println("bs1 after clear method : " + bs1); } } ```
输出:
```java bs1 : {1, 2, 3, 4, 6, 7} bs2 : {2, 3, 4, 6, 9} use of length() : 8 Use of xor() : {1, 7, 9} Use of xor() : {1, 2, 3, 4, 6, 7} bs2 after clear method : {2, 3, 4, 6, 7} bs1 after clear method : {}
```
参考文献: https://docs . Oracle . com/javase/7/docs/API/Java/util/bitset . html
本文由莫希特·古普塔供稿。如果你喜欢 GeeksforGeeks 并想投稿,你也可以使用contribute.geeksforgeeks.org写一篇文章或者把你的文章邮寄到 contribute@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。
如果你发现任何不正确的地方,或者你想分享更多关于上面讨论的话题的信息,请写评论。
版权属于:月萌API www.moonapi.com,转载请注明出处