Класс BitSet создаёт определённый вид массива, который содержит битовые значения. Эта структура данных является динамической, т.е. её размер может быть увеличен при необходимости.
С конструкторами и методами этого класса можно ознакомиться в официальной документации.
Для понимания того, как это работает на практике, рассмотрим пример простого приложения.
Пример:
Класс BitSetDemo
import java.util.BitSet;
public class BitSetDemo {
public static void main(String[] args) {
BitSet bitSetOne = new BitSet(8);
BitSet bitSetTwo = new BitSet(8);
for (int i = 0; i < 8; i++) {
if (i % 2 == 0) {
bitSetOne.set(i);
}
if (i % 2 != 0) {
bitSetTwo.set(i);
}
}
System.out.println("bitSetOne:");
System.out.println(bitSetOne);
System.out.println("bitSetTwo:");
System.out.println(bitSetTwo);
System.out.println("=====================");
System.out.println("bitSetOne.xor(bitSetTwo): ");
bitSetOne.xor(bitSetTwo);
System.out.println(bitSetOne);
System.out.println("=====================");
System.out.println("bitSetTwo.and(bitSetTwo): ");
bitSetTwo.and(bitSetOne);
System.out.println(bitSetTwo);
System.out.println("=====================");
}
}
В результате работы программы мы получим следующий результат:
/*Some System Messages*/
bitSetOne:
{0, 2, 4, 6}
bitSetTwo:
{1, 3, 5, 7}
=====================
bitSetOne.xor(bitSetTwo):
{0, 1, 2, 3, 4, 5, 6, 7}
=====================
bitSetTwo.and(bitSetTwo):
{1, 3, 5, 7}
=====================
В этом уроке мы изучили основы класса BitSet и рассмотрели пример простого приложения с его применением.