package java.util; import org.checkerframework.checker.lock.qual.*; // Subclasses of this interface/class may opt to prohibit null elements public interface Set<E extends Object> extends Collection<E> { public abstract int size(@GuardSatisfied Set<E> this); public abstract boolean isEmpty(@GuardSatisfied Set<E> this); public abstract boolean contains(@GuardSatisfied Set<E> this, @GuardSatisfied Object a1); public abstract Iterator<E> iterator(); public abstract Object [] toArray(); public abstract <T> T [] toArray(T [] a1); public abstract boolean add(E a1); public abstract boolean remove(Object a1); public abstract boolean containsAll(@GuardSatisfied Set<E> this, @GuardSatisfied Collection<?> a1); public abstract boolean addAll(Collection<? extends E> a1); public abstract boolean retainAll(Collection<?> a1); public abstract boolean removeAll(Collection<?> a1); public abstract void clear(); public abstract boolean equals(@GuardSatisfied Set<E> this, @GuardSatisfied Object a1); public abstract int hashCode(@GuardSatisfied Set<E> this); }