Trong lập trình Java, lớp BitSet
là một lớp trong gói java.util
được sử dụng để lưu trữ và thực hiện các phép toán trên các tập hợp các bit (bit set). Nó cung cấp một cách tiện lợi để làm việc với các tập hợp các bit như các tập hợp các số nguyên không âm.
Các phương thức của lớp BitSet
cho phép bạn thực hiện các phép toán như thiết lập bit, xóa bit, lấy bit, kiểm tra bit, hợp, giao, hiệu và nhiều phép toán khác trên các bit set.
Dưới đây là một số phương thức quan trọng trong lớp BitSet
:
void set(int bitIndex)
: Đặt bit tại vị tríbitIndex
thành giá trịtrue
.void clear(int bitIndex)
: Đặt bit tại vị tríbitIndex
thành giá trịfalse
.boolean get(int bitIndex)
: Trả về giá trị của bit tại vị tríbitIndex
.void and(BitSet set)
: Thực hiện phép toán AND giữa hai BitSet và lưu kết quả vào BitSet gọi phương thức.void or(BitSet set)
: Thực hiện phép toán OR giữa hai BitSet và lưu kết quả vào BitSet gọi phương thức.void xor(BitSet set)
: Thực hiện phép toán XOR giữa hai BitSet và lưu kết quả vào BitSet gọi phương thức.int cardinality()
: Trả về số lượng bit có giá trịtrue
trong BitSet.void flip(int bitIndex)
: Đảo giá trị của bit tại vị tríbitIndex
(nếu ban đầu làtrue
thì sẽ thànhfalse
và ngược lại).
Dưới đây là một ví dụ về cách sử dụng lớp BitSet
:
java
import java.util.BitSet;
public class BitSetExample {
public static void main(String[] args) {
BitSet bitSet1 = new BitSet(8);
BitSet bitSet2 = new BitSet(8);
// Set bits in bitSet1
bitSet1.set(0);
bitSet1.set(2);
bitSet1.set(4);
System.out.println("BitSet1: " + bitSet1); // Output: {0, 2, 4}
// Set bits in bitSet2
bitSet2.set(2);
bitSet2.set(4);
bitSet2.set(6);
System.out.println("BitSet2: " + bitSet2); // Output: {2, 4, 6}
// Perform OR operation
bitSet1.or(bitSet2);
System.out.println("OR Result: " + bitSet1); // Output: {0, 2, 4, 6}
}
}
Lớp BitSet
rất hữu ích trong nhiều tình huống khi bạn muốn thao tác với các tập hợp các bit và thực hiện các phép toán logic liên quan.