|
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 представлять битовые значения. |
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 в классе 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}".
Для дальнейшей ссылки API и документации разработчика, см. . Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.