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
больше чем toIndex
public 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
больше чем toIndex
public void set(int fromIndex, int toIndex, boolean value)
fromIndex
(включительно) к указанному toIndex
(монопольный) к указанному значению.fromIndex
- индекс первого бита, который будет установленtoIndex
- индекс после последнего бита, который будет установленvalue
- значение, чтобы установить выбранные биты вIndexOutOfBoundsException
- если fromIndex
отрицательно, или toIndex
отрицательно, или fromIndex
больше чем toIndex
public void clear(int bitIndex)
false
.bitIndex
- индекс бита, который будет очищенIndexOutOfBoundsException
- если указанный индекс отрицателенpublic void clear(int fromIndex, int toIndex)
fromIndex
(включительно) к указанному toIndex
(монопольный) к false
.fromIndex
- индекс первого бита, который будет очищенtoIndex
- индекс после последнего бита, который будет очищенIndexOutOfBoundsException
- если fromIndex
отрицательно, или toIndex
отрицательно, или fromIndex
больше чем toIndex
public 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
от диапазона этого BitSet
IndexOutOfBoundsException
- если fromIndex
отрицательно, или toIndex
отрицательно, или fromIndex
больше чем toIndex
public 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
- если указанный индекс является меньше чем -1
public int previousClearBit(int fromIndex)
false
это происходит на или перед указанным начальным значением индекса. Если никакой такой бит не существует, или если -1
дается как начальное значение индекса, тогда -1
возвращается.fromIndex
- индекс, чтобы начать проверять от (включительно)-1
если нет такого битаIndexOutOfBoundsException
- если указанный индекс является меньше чем -1
public int length()
BitSet
: индекс самого высокого бита набора в BitSet
плюс один. Возвраты обнуляют если BitSet
не содержит битов набора.BitSet
public boolean isEmpty()
BitSet
не содержит битов, которые устанавливаются в true
.BitSet
пустоpublic boolean intersects(BitSet set)
BitSet
имеет любой набор битов к true
это также устанавливается в true
в этом BitSet
.set
- BitSet
пересечься сBitSet
пересекает указанное BitSet
public int cardinality()
true
в этом BitSet
.true
в этом BitSet
public 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
с которым можно замаскировать это BitSet
public 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
в классе Object
Object.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 и/или его филиалы. Все права защищены.