Руководство по Java Core. Структуры данных в языке Java. BitSet

Класс 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 и рассмотрели пример простого приложения с его применением.