Latest web development tutorials

Класс Java BitSet

Класс BitSet создает особый тип массива для хранения битового значения. BITSET с размером массива необходимо будет увеличить. Этот бит вектор (вектор битов) и сравнивать подобное с подобным.

Это традиционный класс, но он был полностью переработан в Java 2.

BitSet определяет два конструктора.

Первый конструктор создает объект по умолчанию:

BitSet()

Второй метод позволяет пользователю указать начальный размер. Все биты инициализируются в 0.


BitSet(int size)

Метод BitSet реализован Cloneable интерфейс, определенный в таблице ниже следующим образом:

Нет. Метод Описание
1 недействительным и (BitSet BitSet)
Этот набор с аргументом целевой бит установлен бит и выполнять логические операции.
2 недействительным andNot (BitSet BitSet)
Очистить все биты в этом BitSet которого устанавливается соответствующий бит в указанном BitSet.
3 INT количество элементов ()
Возвращает количество битов в этом BitSet значение ИСТИНА.
4 аннулированию ясно ()
Все биты в этом BitSet ложь.
5 аннулированию ясно (INT индекс)
Бит задается индексом ложь.
6 недействительными ясно (INT StartIndex, INT ENDINDEX)
Указанный fromIndex (включительно) до указанного toIndex (не включен) бит установлен в диапазоне от ложной.
7 Клон Object ()
Скопируйте этот BitSet, сгенерировать новый BitSet, равный.
8 булевы Equals (Object BitSet)
Этот объект против указанного объекта для сравнения.
9 недействительным флип (INT индекс)
Бит по указанному индексу к его текущему значению дополнения.
10 недействительным флип (INT StartIndex, INT ENDINDEX)
Указанный fromIndex (включительно) до указанного toIndex (не входит в комплект) для каждого бита в пределах объема его текущего значения дополнения.
11 булево Get (INT индекс)
Возвращает значение бита по указанному индексу.
12 BitSet получаем (INT StartIndex, INT ENDINDEX)
Возвращает новый BitSet, это BitSet состоит из fromIndex (включительно) до toIndex (не входит в комплект) положение в пределах диапазона.
13 INT хэш-код ()
Возвращает значение хэш-кода для этого набора бит.
14 булевы пересекает (BitSet BitSet)
Если указанная BitSet имеет какие-либо биты, установленные к истине, и в этом BitSet также будет установлено значение истинно, а затем вернуться туру.
15 булево IsEmpty ()
Если этот BitSet не содержит биты, установленные к истине, а затем вернуться туру.
16 Длина Int ()
Возврат этого BitSet "логический размер": индекс BitSet самого высокого множества бит плюс один.
17 INT nextClearBit (INT StartIndex)
Возвращает первый индекс устанавливается на ложный бит, которое происходит на или после того, как начальный индекс указанного индекса.
18 INT nextSetBit (INT StartIndex)
Возвращает первый бит имеет значение истинного индекса, которое происходит на или после того, как начальный индекс указанного индекса.
19 недействительным или (BitSet BitSet)
Этот бит устанавливается с битом заданными параметрами или для выполнения логических операций.
20 недействительными набор (INT индекс)
Бит по указанному индексу устанавливается истина.
21 недействительными набор (INT индекс, логическое значение v)
Бит по указанному индексу к указанному значению.
22 недействительными набор (INT StartIndex, INT ENDINDEX)
Указанный fromIndex (включительно) до указанного toIndex (не включен) бит установлен в диапазоне верно.
23 недействительными набор (INT StartIndex, INT ENDINDEX, булево v)
Указанный fromIndex (включительно) до указанного toIndex (не включен) бит установлен в диапазоне от указанного значения.
24 размер Int ()
Возвращает BitSet представляет фактическое использование пространства, когда бит значения битов.
25 Строка ToString ()
Возвращает строковое представление этого набора бит.
26 недействительным XOR (BitSet BitSet)
Этот бит устанавливается с параметрами бит настроен на выполнение логической операции XOR.

примеров

Следующая программа иллюстрирует это структура данных поддерживает несколько методов:

import java.util.BitSet;

public class BitSetDemo {

  public static void main(String args[]) {
     BitSet bits1 = new BitSet(16);
     BitSet bits2 = new BitSet(16);
      
     // set some bits
     for(int i=0; i<16; i++) {
        if((i%2) == 0) bits1.set(i);
        if((i%5) != 0) bits2.set(i);
     }
     System.out.println("Initial pattern in bits1: ");
     System.out.println(bits1);
     System.out.println("\nInitial pattern in bits2: ");
     System.out.println(bits2);

     // AND bits
     bits2.and(bits1);
     System.out.println("\nbits2 AND bits1: ");
     System.out.println(bits2);

     // OR bits
     bits2.or(bits1);
     System.out.println("\nbits2 OR bits1: ");
     System.out.println(bits2);

     // XOR bits
     bits2.xor(bits1);
     System.out.println("\nbits2 XOR bits1: ");
     System.out.println(bits2);
  }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

Initial pattern in bits1:
{0, 2, 4, 6, 8, 10, 12, 14}

Initial pattern in bits2:
{1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14}

bits2 AND bits1:
{2, 4, 6, 8, 12, 14}

bits2 OR bits1:
{0, 2, 4, 6, 8, 10, 12, 14}

bits2 XOR bits1:
{}