|
Spec-Zone .ru
спецификации, руководства, описания, API
|
java.util.BitSetBitSet объект является рядом битов, который растет как необходимый. Биты a BitSet индексируются неотрицательными целыми числами. Каждый бит может быть индивидуально исследован, установлен, или очищен. Один BitSet может использоваться, чтобы изменить содержание другого BitSet через логический И, логичный содержащий ИЛИ, и логические операции "исключающее ИЛИ". public final classBitSetimplements 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