Name

EnumSet<E extends Enum<E>>

Synopsis

This Set implementation is specialized for use with enumerated constants. The element type E must be an enumerated type, and null is not allowed as a member of the set.

EnumSet does not define a constructor. Instead, it defines various static factory methods for creating sets. Use one of the of( ) methods for creating an EnumSet and initializing its elements. For efficiency, versions of this method that accept one through five arguments are defined. If you pass more than five arguments, the varargs version will be invoked. The allOf( ) and noneOf( ) methods define full and empty sets but require the Class of the enumerated type since they do not have any other arguments to define the element type. complementOf( ) returns an EnumSet that contains all enumerated constants not contained by the specified EnumSet. The range( ) factory creates a set that includes the two specified values and any enumerated constants that fall between them in the enumerated type declaration. (Note that this definition of a range includes both endpoints and differs from most Java methods, in which the second argument specifies the first value past the end of the range.)

The EnumSet implementation is based on a bit vector that includes one bit for each constant defined by the enumerated type E. Because of this compact and efficient representation, basic Set operations occur in constant time, and the Iterator returns enumerated constants in the order in which they are ...

Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.