package org.deuce.transaction.util; /** * Dynamic boolean array. * * @author Guy Korland * @since 1.0 */ public class BooleanArrayList{ private static final int DEFAULT_CAPACITY = 100; private boolean[] array = new boolean[DEFAULT_CAPACITY]; public void insert(int offset, boolean value) { ensureCapacity(offset + 1); array[offset] = value; } public boolean get(int offset) { ensureCapacity(offset + 1); return array[offset]; } private void ensureCapacity(int capacity) { if (capacity > array.length) { int newCap = Math.max(array.length << 1, capacity); boolean[] tmp = new boolean[newCap]; System.arraycopy(array, 0, tmp, 0, array.length); array = tmp; } } }