Mega Code Archive

 
Categories / Java Book / 005 Collection
 

0319 EnumSet

EnumSet extends AbstractSet and implements Set. It is specifically for use with keys of an enum type. It is a generic class that has this declaration: class EnumSet<E extends Enum<E>> E specifies the elements. EnumSet defines no constructors. It uses the factory methods to create objects. The EnumSet class provides a Set implementation that is based on a bitset. Its elements are constants that must come from the same enum. Null elements are not permitted. The following code use the EnumSet import java.util.EnumSet; import java.util.Iterator; import java.util.Set; enum Weekday { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } public class Main { public static void main(String[] args) { Set<Weekday> daysOff = EnumSet.of(Weekday.SUNDAY, Weekday.MONDAY); Iterator<Weekday> iter = daysOff.iterator(); while (iter.hasNext()) System.out.println(iter.next()); } } import java.util.EnumSet; import java.util.Iterator; public class Main { public static void main(String[] args) { EnumSet largeSize = EnumSet.of(Size.XL,Size.XXL,Size.XXXL); for(Iterator it = largeSize.iterator();it.hasNext();){ Size size = (Size)it.next(); System.out.println(size); } } } enum Size { S, M, L, XL, XXL, XXXL; } The output: XL XXL XXXL