Spec-Zone .ru
спецификации, руководства, описания, API
|
java.util.BitSet
BitSet
объект является рядом битов, который растет как необходимый. Биты a BitSet
индексируются неотрицательными целыми числами. Каждый бит может быть индивидуально исследован, установлен, или очищен. Один BitSet
может использоваться, чтобы изменить содержание другого BitSet
через логический И, логичный содержащий ИЛИ, и логические операции "исключающее ИЛИ". public final classBitSet
implements Cloneable { publicBitSet
(); publicBitSet
(int nbits); public StringtoString
(); public booleanequals
(Object obj) public inthashCode
(); public Objectclone
(); public booleanget
(int bitIndex); public voidset
(int bitIndex); public voidclear
(int bitIndex); public voidand
(BitSet set); public voidor
(BitSet set); public voidxor
(BitSet set); public intsize
(); }
21.2.1 public
BitSet
()
Этот конструктор инициализирует недавно создаваемый BitSet
так, чтобы все биты были четкими.
21.2.2 public
BitSet
(int nbits)
Этот конструктор инициализирует недавно создаваемый BitSet
так, чтобы все биты были четкими. Достаточно пространства резервируется, чтобы явно представить биты с индексами в диапазоне 0
через nbits-1
.
21.2.3 public String
toString
()
Для того каждого, индекса, для который это BitSet
содержит немного в состоянии набора, десятичное представление того индекса включается в результат. Такие индексы перечисляются в порядке от самого низкого до самого высокого, разделенного",
"(запятая и пространство) и окруженный фигурными скобками, приводящими к обычной математической нотации для ряда целых чисел.
Переопределения toString
метод Object
(§20.1.2).
BitSet drPepper = new BitSet();Теперь
drPepper.toString()
возвраты "{}"
. drPepper.set(2);Теперь
drPepper.toString()
возвраты "{2}"
. drPepper.set(4); drPepper.set(10);Теперь
drPepper.toString()
возвраты "{2, 4, 10}"
. 21.2.4 public boolean
equals
(Object obj)
Результат true
если и только если параметр не null
и a BitSet
возразите так, что для каждого неотрицательного int
индекс k
:
((BitSet)obj).get(k) == this.get(k)Переопределения
equals
метод Object
(§20.1.3).21.2.5 public int
hashCode
()
Хэш-код зависит только, на котором биты были установлены в пределах этого BitSet
. Алгоритм, используемый, чтобы вычислить это, может быть описан следующим образом.
Предположите биты в BitSet
должны были быть сохранены в массиве long
целые числа, вызванные, скажем, bits
, таким способом тот бит k
устанавливается в BitSet
(для неотрицательных значений k
) если и только если выражение:
((k>>6) < bits.length) && ((bits[k>>6] & (1L << (bit & 0x3F))) != 0)истина. Затем следующее определение
hashCode
метод был бы корректной реализацией фактического алгоритма: public synchronized int hashCode() { long h = 1234; for (int i = bits.length; --i >= 0; ) { h ^= bits[i] * (i + 1); } return (int)((h >> 32) ^ h); }Отметьте, что хэш-код оценивает изменения, если набор битов изменяется.
Переопределения hashCode
метод Object
(§20.1.4).
21.2.6 public Object
clone
()
Клонирование этого BitSet
производит новое BitSet
это равно этому.
Переопределения clone
метод Object
(§20.1.5).
21.2.7 public boolean
get
(int bitIndex)
Результат true
если бит с индексом bitIndex
в настоящий момент устанавливается в этом BitSet
; иначе, результат false
.
Если bitIndex
отрицательно, IndexOutOfBoundsException
бросается.
21.2.8 public void
set
(int bitIndex)
Бит с индексом bitIndex
в этом BitSet
изменяется на "набор" (true
) состояние.
Если bitIndex
отрицательно, IndexOutOfBoundsException
бросается.
Если bitIndex
не меньше чем значение, которое было бы возвращено size
метод (§21.2.13), тогда размер этого BitSet
увеличивается, чтобы быть больше чем bitIndex
.
21.2.9 public void
clear
(int bitIndex)
Бит с индексом bitIndex
в этом BitSet
изменяется на "четкое" (false
) состояние.
Если bitIndex
отрицательно, IndexOutOfBoundsException
бросается.
Если bitIndex
не меньше чем значение, которое было бы возвращено size
метод (§21.2.13), тогда размер этого BitSet
увеличивается, чтобы быть больше чем bitIndex
.
21.2.10 public void
and
(BitSet set)
Это BitSet
может быть изменен, очищая некоторые из его битов. Для каждого неотрицательного int
индекс k
, бит k
из этого BitSet
очищается если бит k
из set
является четким.
21.2.11 public void
or
(BitSet set)
Это BitSet
может быть изменен, устанавливая некоторые из его битов. Для каждого неотрицательного int
индекс k
, бит k
из этого BitSet
устанавливается если бит k
из set
устанавливается.
21.2.12 public void
xor
(BitSet set)
Это BitSet
может быть изменен, инвертируя некоторые из его битов. Для каждого неотрицательного int
индекс k
, бит k
из этого BitSet
инвертируется если бит k
из set
устанавливается.
21.2.13 public int
size
()
Этот метод возвращает число битов пространства фактически в использовании этим BitSet
представлять битовые значения.
Содержание | Предыдущий | Следующий | Индекс
Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com