|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class BitSet extends Object implements Cloneable, Serializable
boolean значение. Биты a BitSet индексируются неотрицательными целыми числами. Человек индексированные биты может быть исследован, установлен, или очищен. Один BitSet может использоваться, чтобы изменить содержание другого BitSet через логический И, логичный содержащий ИЛИ, и логические операции "исключающее ИЛИ". По умолчанию у всех битов в наборе первоначально есть значение false.
У каждого набора битов есть текущий размер, который является числом битов пространства, использующегося в настоящее время набором битов. Отметьте, что размер связывается с реализацией небольшого количества набора, таким образом, это может измениться с реализацией. Длина небольшого количества набора касается логической длины небольшого количества набора и определяется независимо от реализации.
Если не указано иное, передавая нулевой параметр к любому из методов в a BitSet приведет к a NullPointerException.
A BitSet не безопасно для многопоточного использования без внешней синхронизации.
| Конструктор и Описание |
|---|
BitSet()
Создает новый набор битов.
|
BitSet(int nbits)
Создает немного набора, начальный размер которого является достаточно большим, чтобы явно представить биты с индексами в диапазоне
0 через nbits-1. |
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
and(BitSet set)
Выполняет логическое И этого целевого набора битов с набором битов параметра.
|
void |
andNot(BitSet set)
Очищает все биты в этом
BitSet чей соответствующий бит устанавливается в указанном BitSet. |
int |
cardinality()
Возвращает число набора битов к
true в этом BitSet. |
void |
clear()
Наборы все биты в этом BitSet к
false. |
void |
clear(int bitIndex)
Устанавливает бит, определенный индексированием к
false. |
void |
clear(int fromIndex, int toIndex)
Устанавливает биты от указанного
fromIndex (включительно) к указанному toIndex (монопольный) к false. |
Объект |
clone()
Клонирование этого
BitSet производит новое BitSet это равно этому. |
boolean |
equals(Object obj)
Сравнивает этот объект с указанным объектом.
|
void |
flip(int bitIndex)
Наборы бит в указанном индексируют к дополнению его текущей стоимости.
|
void |
flip(int fromIndex, int toIndex)
Наборы каждый бит от указанного
fromIndex (включительно) к указанному toIndex (монопольный) к дополнению его текущей стоимости. |
boolean |
get(int bitIndex)
Возвращается значение бита с указанным индексируют.
|
BitSet |
get(int fromIndex, int toIndex)
Возвращает новое
BitSet составленный из битов от этого BitSet от fromIndex (включительно) к toIndex (монопольный). |
int |
hashCode()
Возвращает значение хэш-кода для этого набора битов.
|
boolean |
intersects(BitSet set)
Возвращает true если указанное
BitSet имеет любой набор битов к true это также устанавливается в true в этом BitSet. |
boolean |
isEmpty()
Возвращает true если это
BitSet не содержит битов, которые устанавливаются в true. |
int |
length()
Возвращает "логический размер" этого
BitSet: индексирование самого высокого бита набора в BitSet плюс один. |
int |
nextClearBit(int fromIndex)
Возвращает индексирование первого бита, который устанавливается в
false это происходит на или после указанного начального значения индекса. |
int |
nextSetBit(int fromIndex)
Возвращает индексирование первого бита, который устанавливается в
true это происходит на или после указанного начального значения индекса. |
void |
or(BitSet set)
Выполняет логическое ИЛИ этого набора битов с параметром набора битов.
|
int |
previousClearBit(int fromIndex)
Возвращает индексирование самого близкого бита, который устанавливается в
false это происходит на или перед указанным начальным значением индекса. |
int |
previousSetBit(int fromIndex)
Возвращает индексирование самого близкого бита, который устанавливается в
true это происходит на или перед указанным начальным значением индекса. |
void |
set(int bitIndex)
Наборы бит в указанном индексируют к
true. |
void |
set(int bitIndex, boolean value)
Наборы бит в указанном индексируют к указанному значению.
|
void |
set(int fromIndex, int toIndex)
Устанавливает биты от указанного
fromIndex (включительно) к указанному toIndex (монопольный) к true. |
void |
set(int fromIndex, int toIndex, boolean value)
Устанавливает биты от указанного
fromIndex (включительно) к указанному toIndex (монопольный) к указанному значению. |
int |
size()
Возвращает число битов пространства фактически в использовании этим
BitSet представлять битовые значения. |
IntStream |
stream()
Возвращает поток индексов для который это
BitSet содержит немного в состоянии набора. |
byte[] |
toByteArray()
Возвращает новый байтовый массив, содержащий все биты в этом наборе битов.
|
long[] |
toLongArray()
Возвращает новый длинный массив, содержащий все биты в этом наборе битов.
|
Строка |
toString()
Возвращает строковое представление этого набора битов.
|
static BitSet |
valueOf(byte[] bytes)
Возвращает новый набор битов, содержащий все биты в данном байтовом массиве.
|
static BitSet |
valueOf(ByteBuffer bb)
Возвращает новый набор битов, содержащий все биты в данном буфере байта между его позицией и пределом.
|
static BitSet |
valueOf(long[] longs)
Возвращается новый набор битов, содержащий все биты в даваемом долго, выстраивают.
|
static BitSet |
valueOf(LongBuffer lb)
Возвращается новый набор битов, содержащий все биты в даваемом долго, буферизуют между его позицией и пределом.
|
void |
xor(BitSet set)
Выполняет логический XOR этого набора битов с параметром набора битов.
|
public BitSet()
false.public BitSet(int nbits)
0 через nbits-1. Все биты первоначально false.nbits - начальный размер набора битовNegativeArraySizeException - если указанный начальный размер отрицателенpublic static BitSet valueOf(long[] longs)
Более точно, BitSet.valueOf(longs).get(n) == ((longs[n/64] & (1L<<(n%64))) != 0)
для всех n < 64 * longs.length.
Этот метод эквивалентен BitSet.valueOf(LongBuffer.wrap(longs)).
longs - длинный массив, содержащий представление с прямым порядком байтов последовательности битов, которые будут использоваться в качестве начальных битов нового набора битовpublic static BitSet valueOf(LongBuffer lb)
Более точно, BitSet.valueOf(lb).get(n) == ((lb.get(lb.position()+n/64) & (1L<<(n%64))) != 0)
для всех n < 64 * lb.remaining().
Длинный буфер не изменяется этим методом, и никакая ссылка на буфер не сохраняется набором битов.
lb - длинный буфер, содержащий представление с прямым порядком байтов последовательности битов между ее позицией и пределом, чтобы использоваться в качестве начальных битов нового набора битовpublic static BitSet valueOf(byte[] bytes)
Более точно, BitSet.valueOf(bytes).get(n) == ((bytes[n/8] & (1<<(n%8))) != 0)
для всех n < 8 * bytes.length.
Этот метод эквивалентен BitSet.valueOf(ByteBuffer.wrap(bytes)).
bytes - байтовый массив, содержащий представление с прямым порядком байтов последовательности битов, которые будут использоваться в качестве начальных битов нового набора битовpublic static BitSet valueOf(ByteBuffer bb)
Более точно, BitSet.valueOf(bb).get(n) == ((bb.get(bb.position()+n/8) & (1<<(n%8))) != 0)
для всех n < 8 * bb.remaining().
Буфер байта не изменяется этим методом, и никакая ссылка на буфер не сохраняется набором битов.
bb - буфер байта, содержащий представление с прямым порядком байтов последовательности битов между ее позицией и пределом, чтобы использоваться в качестве начальных битов нового набора битовpublic byte[] toByteArray()
Более точно, если byte[] bytes = s.toByteArray();
тогда bytes.length == (s.length()+7)/8 и s.get(n) == ((bytes[n/8] & (1<<(n%8))) != 0)
для всех n < 8 * bytes.length.
public long[] toLongArray()
Более точно, если long[] longs = s.toLongArray();
тогда longs.length == (s.length()+63)/64 и s.get(n) == ((longs[n/64] & (1L<<(n%64))) != 0)
для всех n < 64 * longs.length.
public void flip(int bitIndex)
bitIndex - индексирование бита, чтобы зеркально отразитьIndexOutOfBoundsException - если указанные индексируют, отрицательноpublic void flip(int fromIndex,
int toIndex)
fromIndex (включительно) к указанному toIndex (монопольный) к дополнению его текущей стоимости.fromIndex - индексируйте первого бита, чтобы зеркально отразитьtoIndex - индексируйте после последнего бита, чтобы зеркально отразитьIndexOutOfBoundsException - если fromIndex отрицательно, или toIndex отрицательно, или fromIndex больше чем toIndexpublic void set(int bitIndex)
true.bitIndex - немного индексируйтеIndexOutOfBoundsException - если указанные индексируют, отрицательноpublic void set(int bitIndex,
boolean value)
bitIndex - немного индексируйтеvalue - булево значение, чтобы установитьIndexOutOfBoundsException - если указанные индексируют, отрицательноpublic void set(int fromIndex,
int toIndex)
fromIndex (включительно) к указанному toIndex (монопольный) к true.fromIndex - индексируйте первого бита, который будет установленtoIndex - индексируйте после последнего бита, который будет установленIndexOutOfBoundsException - если fromIndex отрицательно, или toIndex отрицательно, или fromIndex больше чем toIndexpublic void set(int fromIndex,
int toIndex,
boolean value)
fromIndex (включительно) к указанному toIndex (монопольный) к указанному значению.fromIndex - индексируйте первого бита, который будет установленtoIndex - индексируйте после последнего бита, который будет установленvalue - значение, чтобы установить выбранные биты вIndexOutOfBoundsException - если fromIndex отрицательно, или toIndex отрицательно, или fromIndex больше чем toIndexpublic void clear(int bitIndex)
false.bitIndex - индексирование бита, который будет очищенIndexOutOfBoundsException - если указанные индексируют, отрицательноpublic void clear(int fromIndex,
int toIndex)
fromIndex (включительно) к указанному toIndex (монопольный) к false.fromIndex - индексируйте первого бита, который будет очищенtoIndex - индексируйте после последнего бита, который будет очищенIndexOutOfBoundsException - если fromIndex отрицательно, или toIndex отрицательно, или fromIndex больше чем toIndexpublic void clear()
false.public boolean get(int bitIndex)
true если бит с индексированием bitIndex в настоящий момент устанавливается в этом BitSet; иначе, результат false.bitIndex - бит индексируетIndexOutOfBoundsException - если указанные индексируют, отрицательноpublic BitSet get(int fromIndex, int toIndex)
BitSet составленный из битов от этого BitSet от fromIndex (включительно) к toIndex (монопольный).fromIndex - индексируйте первого бита, чтобы включатьtoIndex - индексируйте после последнего бита, чтобы включатьBitSet от диапазона этого BitSetIndexOutOfBoundsException - если fromIndex отрицательно, или toIndex отрицательно, или fromIndex больше чем toIndexpublic int nextSetBit(int fromIndex)
true это происходит на или после указанного начального значения индекса. Если никакой такой бит не существует тогда -1 возвращается. Выполнить итерации по true биты в a BitSet, используйте следующий цикл:
for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i+1)) {
// operate on index i here
}fromIndex - индексирование, чтобы начать проверять от (включительно)-1 если нет такого битаIndexOutOfBoundsException - если указанные индексируют, отрицательноpublic int nextClearBit(int fromIndex)
false это происходит на или после указанного начального значения индекса.fromIndex - индексирование, чтобы начать проверять от (включительно)IndexOutOfBoundsException - если указанные индексируют, отрицательноpublic int previousSetBit(int fromIndex)
true это происходит на или перед указанным начальным значением индекса. Если никакой такой бит не существует, или если -1 дается как начальное значение индекса, тогда -1 возвращается. Выполнить итерации по true биты в a BitSet, используйте следующий цикл:
for (int i = bs.length(); (i = bs.previousSetBit(i-1)) >= 0; ) {
// operate on index i here
}fromIndex - индексирование, чтобы начать проверять от (включительно)-1 если нет такого битаIndexOutOfBoundsException - если указанные индексируют, меньше чем -1public int previousClearBit(int fromIndex)
false это происходит на или перед указанным начальным значением индекса. Если никакой такой бит не существует, или если -1 дается как начальное значение индекса, тогда -1 возвращается.fromIndex - индексирование, чтобы начать проверять от (включительно)-1 если нет такого битаIndexOutOfBoundsException - если указанные индексируют, меньше чем -1public int length()
BitSet: индексирование самого высокого бита набора в BitSet плюс один. Возвраты обнуляют если BitSet не содержит битов набора.BitSetpublic boolean isEmpty()
BitSet не содержит битов, которые устанавливаются в true.BitSet пустоpublic boolean intersects(BitSet set)
BitSet имеет любой набор битов к true это также устанавливается в true в этом BitSet.set - BitSet пересечься сBitSet пересекает указанное BitSetpublic int cardinality()
true в этом BitSet.true в этом BitSetpublic void and(BitSet set)
true если и только если это у обоих первоначально было значение true и у соответствующего бита в параметре набора битов также было значение true.set - немного набораpublic void or(BitSet set)
true если и только если это у любого уже было значение true или у соответствующего бита в параметре набора битов есть значение true.set - немного набораpublic void xor(BitSet set)
true если и только если один из следующих операторов содержит: true, и у соответствующего бита в параметре есть значение false. false, и у соответствующего бита в параметре есть значение true. set - немного набораpublic void andNot(BitSet set)
BitSet чей соответствующий бит устанавливается в указанном BitSet.set - BitSet с которым можно замаскировать это BitSetpublic int hashCode()
BitSet. Хэш-код определяется, чтобы быть результатом следующего вычисления:
public int hashCode() {
long h = 1234;
long[] words = toLongArray();
for (int i = words.length; --i >= 0; )
h ^= words[i] * (i + 1);
return (int)((h >> 32) ^ h);
} Отметьте, что хэш-код изменяется, если набор битов изменяется.hashCode в class ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public int size()
BitSet представлять битовые значения. Максимальный элемент в наборе является размером - 1-ый элемент.public boolean equals(Object obj)
true если и только если параметр не null и a Bitset объект, у которого есть точно тот же самый набор набора битов к true как этот набор битов. Таким образом, для каждого неотрицательного int индексировать k, ((BitSet)obj).get(k) == this.get(k)должна быть истина. Текущие размеры двухбитовых наборов не сравниваются.
public Object clone()
BitSet производит новое BitSet это равно этому. Клон набора битов является другим набором битов, у которого есть точно тот же самый набор битов к true как этот набор битов.public String toString()
BitSet содержит немного в состоянии набора, десятичное представление которого индексируют, включается в результат. Такие индексы перечисляются в порядке от самого низкого до самого высокого, разделенного", "(запятая и пространство) и окружил фигурными скобками, приводящими к обычной математической нотации для ряда целых чисел. Пример:
BitSet drPepper = new BitSet();Теперь
drPepper.toString() возвраты"{}".
drPepper.set(2);Теперь
drPepper.toString() возвраты"{2}".
drPepper.set(4); drPepper.set(10);Теперь
drPepper.toString() возвраты"{2, 4, 10}".public IntStream stream()
BitSet содержит немного в состоянии набора. Индексы возвращаются в порядке от самого низкого до самого высокого. Размер потока является числом битов в состоянии набора, равном значению, возвращенному cardinality() метод. Набор битов должен остаться постоянным во время выполнения терминальной операции с потоками. Иначе, результат терминальной операции с потоками неопределен.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92