Methods Summary |
---|
public boolean | add(E e)Adds the specified element to this set if it is not already present.
typeCheck(e);
long oldElements = elements;
elements |= (1L << ((Enum)e).ordinal());
return elements != oldElements;
|
public boolean | addAll(java.util.Collection c)Adds all of the elements in the specified collection to this set.
if (!(c instanceof RegularEnumSet))
return super.addAll(c);
RegularEnumSet es = (RegularEnumSet)c;
if (es.elementType != elementType) {
if (es.isEmpty())
return false;
else
throw new ClassCastException(
es.elementType + " != " + elementType);
}
long oldElements = elements;
elements |= es.elements;
return elements != oldElements;
|
void | addAll()
if (universe.length != 0)
elements = -1L >>> -universe.length;
|
void | addRange(E from, E to)
elements = (-1L >>> (from.ordinal() - to.ordinal() - 1)) << from.ordinal();
|
public void | clear()Removes all of the elements from this set.
elements = 0;
|
void | complement()
if (universe.length != 0) {
elements = ~elements;
elements &= -1L >>> -universe.length; // Mask unused bits
}
|
public boolean | contains(java.lang.Object e)Returns true if this set contains the specified element.
if (e == null)
return false;
Class eClass = e.getClass();
if (eClass != elementType && eClass.getSuperclass() != elementType)
return false;
return (elements & (1L << ((Enum)e).ordinal())) != 0;
|
public boolean | containsAll(java.util.Collection c)Returns true if this set contains all of the elements
in the specified collection.
if (!(c instanceof RegularEnumSet))
return super.containsAll(c);
RegularEnumSet es = (RegularEnumSet)c;
if (es.elementType != elementType)
return es.isEmpty();
return (es.elements & ~elements) == 0;
|
public boolean | equals(java.lang.Object o)Compares the specified object with this set for equality. Returns
true if the given object is also a set, the two sets have
the same size, and every member of the given set is contained in
this set.
if (!(o instanceof RegularEnumSet))
return super.equals(o);
RegularEnumSet es = (RegularEnumSet)o;
if (es.elementType != elementType)
return elements == 0 && es.elements == 0;
return es.elements == elements;
|
public boolean | isEmpty()Returns true if this set contains no elements.
return elements == 0;
|
public java.util.Iterator | iterator()Returns an iterator over the elements contained in this set. The
iterator traverses the elements in their natural order (which is
the order in which the enum constants are declared). The returned
Iterator is a "snapshot" iterator that will never throw {@link
ConcurrentModificationException}; the elements are traversed as they
existed when this call was invoked.
return new EnumSetIterator<E>();
|
public boolean | remove(java.lang.Object e)Removes the specified element from this set if it is present.
if (e == null)
return false;
Class eClass = e.getClass();
if (eClass != elementType && eClass.getSuperclass() != elementType)
return false;
long oldElements = elements;
elements &= ~(1L << ((Enum)e).ordinal());
return elements != oldElements;
|
public boolean | removeAll(java.util.Collection c)Removes from this set all of its elements that are contained in
the specified collection.
if (!(c instanceof RegularEnumSet))
return super.removeAll(c);
RegularEnumSet es = (RegularEnumSet)c;
if (es.elementType != elementType)
return false;
long oldElements = elements;
elements &= ~es.elements;
return elements != oldElements;
|
public boolean | retainAll(java.util.Collection c)Retains only the elements in this set that are contained in the
specified collection.
if (!(c instanceof RegularEnumSet))
return super.retainAll(c);
RegularEnumSet<?> es = (RegularEnumSet<?>)c;
if (es.elementType != elementType) {
boolean changed = (elements != 0);
elements = 0;
return changed;
}
long oldElements = elements;
elements &= es.elements;
return elements != oldElements;
|
public int | size()Returns the number of elements in this set.
return Long.bitCount(elements);
|