Здесь битами в коллекции становится уже целый их набор из массиваbytes,причем элементbytes [ 0 ] обозначает первые 8 битов, элемент bytes [ 1 ] — вторые 8 битов и т.д. Аналогично, коллекцию типа Bit Array можно составить из массива целочисленных значений, используя приведенный ниже конструктор.

public BitArray(int[ ]values)

В данном случае элементvalues [0 ] обозначает первые 32 бита, элемент values [ 1 ] — вторые 32 бита и т.д.

С помощью следующего конструктора можно составить коллекцию типаBitArray,указав ее конкретный размер:

public BitArray(intlength)

гдеlengthобозначает количество битов в коллекции, которые инициализируются логическим значениемfalse.В приведенном ниже конструкторе можно указать не только размер коллекции, но и первоначальное значение составляющих ее битов.

public BitArray(intlength,booldefaultValue)

В данном случае все биты в коллекции инициализируются значениемdefaultValue,передаваемым конструктору в качестве параметра.

И наконец, новую коллекцию типаBitArrayможно создать из уже существующей, используя следующий конструктор.

public BitArray(BitArraybits)

Вновь сконструированный объект будет содержать такое же количество битов, как и в указываемой коллекцииbits,а в остальном это будут две совершенно разные коллекции.

Коллекции типаBitArrayподлежат индексированию. По каждому индексу указывается отдельный бит в коллекции, причем нулевой индекс обозначает младший бит.

В классеBitArrayопределяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Методы этого класса приведены в табл. 25.9. Обратите внимание на то, что в классеBitArrayне поддерживается методSynchronized(). Это означает, что для коллекций данного класса синхронизированная оболочка недоступна, а свойствоIsSynchronizedвсегда имеет логическое значениеfalse.Тем не менее для управления доступом к коллекции типаBitArrayее можно синхронизировать для объекта, предоставляемого упоминавшимся ранее свойствомSyncRoot.

Таблица 25.9. Методы, определенные в классе BitArray

Метод

Описание

public

value)

BitArray And(BitArray

Выполняет операцию логического умножения И битов вызывающего объекта и коллекции value. Возвращает коллекцию типа BitArray, содержащую результат

public

bool Get(intindex)

Возвращает значение бита, указываемого по индексу index

public

BitArray Not()

Выполняет операцию поразрядного логического отрицания НЕ битов вызывающей коллекции и возвращает коллекцию типа BitArray, содержащую результат

Метод

Описание

public BitArray Or(BitArrayvalue)

public void Set (intindex,boolvalue)

public void SetAll(boolvalue)

public BitArray Xor(BitArrayvalue)

Выполняет операцию логического сложения ИЛИ битов вызывающего объекта и коллекции value. Возвращает коллекцию типа BitArray, содержащую результат

Устанавливает бит, указываемый по индексу index, равным значению value

Перейти на страницу:

Похожие книги