Класс 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: {}