package rocks.inspectit.shared.all.instrumentation.classcache.util; import java.util.ArrayList; /** * Set implemented by {@link ArrayList}. * * @author Ivan Senic * * @param <E> * Type of elements in the set. */ public class ArraySet<E> extends ArrayList<E> implements UpdateableSet<E> { /** * Generated UID. */ private static final long serialVersionUID = -871764893452300085L; /** * No-arg constructor. */ public ArraySet() { } /** * @param initialCapacity * Initial capacity or array list backing the set. */ public ArraySet(int initialCapacity) { super(initialCapacity); } /** * {@inheritDoc} * <p> * Maintaining set definition of add. */ @Override public boolean add(E e) { if (super.contains(e)) { return false; } return super.add(e); } /** * {@inheritDoc} */ @Override public void addOrUpdate(E e) { int i = super.indexOf(e); if (i >= 0) { super.set(i, e); } else { super.add(e); } } }