64.Lớp BitSet trong lập trình java

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:

  1. void set(int bitIndex): Đặt bit tại vị trí bitIndex thành giá trị true.
  2. void clear(int bitIndex): Đặt bit tại vị trí bitIndex thành giá trị false.
  3. boolean get(int bitIndex): Trả về giá trị của bit tại vị trí bitIndex.
  4. 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.
  5. 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.
  6. 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.
  7. int cardinality(): Trả về số lượng bit có giá trị true trong BitSet.
  8. void flip(int bitIndex): Đảo giá trị của bit tại vị trí bitIndex (nếu ban đầu là true thì sẽ thành false 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.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top