@Override public boolean remove(final byte k) { final int pos = findKey(k); if (pos == -1) return false; final int tail = size - pos - 1; for (int i = 0; i < tail; i++) a[pos + i] = a[pos + i + 1]; size--; return true; } @Override
@Override public boolean contains(final byte k) { return findKey(k) != -1; } @Override
@Override public boolean add(final byte k) { final int pos = findKey(k); if (pos != -1) return false; if (size == a.length) { final byte[] b = new byte[size == 0 ? 2 : size * 2]; for (int i = size; i-- != 0;) b[i] = a[i]; a = b; } a[size++] = k; return true; } @Override