В эфире очередной выпуск блогопередачи "скаляризуй меня полностью". На этот раз под мою горячую руку попался
EnumSet
. Первое, что мне про него было интересно — это, конечно, скаляризация итератора. Ну, потому что по любой коллекции очень удобно ходить циклом foreach, но не всегда хочется за это удобство платить, пусть даже и не дорого:
public static enum Enum3 {
FIRST,
SECOND,
THIRD
}
...
final EnumSet set = EnumSet.allOf( Enum3.class );
...
//benchmark start
long sum = 0;
for( final Enum e : set ) {
sum += e.ordinal();
}
return sum;
//benchmark end