@Override public boolean contains(final Object arg) { return indexOf(arg) >= 0; }
/** * This is an extremely expensive implementation of * {@link Set#containsAll(Collection)}. It is implemented as O(n**2). */ @Override public boolean containsAll(final Collection<?> arg) { for (final Object entry : arg) { if (indexOf(entry) < 0) { return false; } } return true; }
@Override public boolean add(final E arg) { final int i = indexOf(arg); if (i >= 0) { return false; } append(arg); return true; }
/** * This is an extremely expensive implementation of * {@link Set#removeAll(Collection)}. It is implemented as O(n**2). */ @Override public boolean removeAll(final Collection<?> arg) { boolean changed = false; for (final Object entry : arg) { final int i = indexOf(entry); if (i >= 0) { entries[i] = null; changed = true; } } if (changed) { clean(); } return changed; }
@Override public boolean remove(final Object arg) { final int i = indexOf(arg); if (i < 0) { return false; } delete(i); return true; }