EnumSetのいくつかの例
EnumSet 列挙タイプとともに使用される専用です Set 実現する.列挙set内のすべての要素は、単一の列挙タイプ(すなわち、同じタイプであり、そのタイプがEnumのサブクラスである必要がある)から来なければならない. 列挙タイプが作成されています set に表示されます.列挙 set 内部ではビットベクトルとして表されます. この表現は非常にコンパクトで効率的です.このような空間的および時間的パフォーマンスは、従来のベースとして使用するのに十分であるべきである. int の「ビットマーク」の置き換え形式は、高品質でタイプが安全な利点があります.
Enumset
虚クラスであり,我々はそれが提供する静的方法でしか返すことができない.
Enumset
を使用してインポートしたストロークVSラム速度のデータ点を示します.
EnumSetの2つの異なる実装を返します
:EnumSetサイズが64未満の場合、
RegularEnumSetインスタンス(もちろんEnumSetから継承されています)を返します.このEnumSetは実際にはlongを使用してこのEnumSetを格納します.
EnumSetサイズが64以上の場合は、long[]を使用して格納されるJumboEnumSetインスタンスを返します.このようなメリットは明らかです. ほとんどの場合に返されるRegularEnumSetの効率はJumboEnumSetよりずっと高い.(以下より抜粋:
http://blog.csdn.net/hudashi/article/details/6943843 )
この文書では、EnumSetの使用例をいくつか示します.
EnumSetをテストするには、まず2つの後に列挙クラスを定義します. Season とMonth
ヘルプ
ヘルプ
EnumSet.allOfメソッドを使用して、すべての列挙クラス要素を持つEnumSetを作成します.
ヘルプ
EnumSet.ofメソッドを使用して、要素の一部を持つEnumSetを返します.
次の例では、月の列挙類から夏、冬に所有する月からなるEnumSetを得ます.
ヘルプ
addAllメソッドを使用して、1つのEnumSetのすべての要素を別のEnumSetに追加します.
ヘルプ
toArrayメソッドを使用して、EnumSetの要素を配列に格納します.
ヘルプ
原文アドレスhttp://thecodesample.com/?p=583
その他の例は http://thecodesample.com/
Enumset
虚クラスであり,我々はそれが提供する静的方法でしか返すことができない.
Enumset
を使用してインポートしたストロークVSラム速度のデータ点を示します.
EnumSetの2つの異なる実装を返します
:EnumSetサイズが64未満の場合、
RegularEnumSetインスタンス(もちろんEnumSetから継承されています)を返します.このEnumSetは実際にはlongを使用してこのEnumSetを格納します.
EnumSetサイズが64以上の場合は、long[]を使用して格納されるJumboEnumSetインスタンスを返します.このようなメリットは明らかです. ほとんどの場合に返されるRegularEnumSetの効率はJumboEnumSetよりずっと高い.(以下より抜粋:
http://blog.csdn.net/hudashi/article/details/6943843 )
この文書では、EnumSetの使用例をいくつか示します.
EnumSetをテストするには、まず2つの後に列挙クラスを定義します. Season とMonth
ヘルプ
enum
Season {
SPRING, SUMMER, AUTUMN, WINTER;
}
enum
Month {
JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER;
}
NoneOfメソッドを使用して空のEnumSetを作成ヘルプ
// EnumSet
Set<Season> emptyEnumSet = EnumSet.noneOf(Season.
class
);
System.out.println(emptyEnumSet);
// []
EnumSet.allOfメソッドを使用して、すべての列挙クラス要素を持つEnumSetを作成します.
ヘルプ
Set<Season> enumSet = EnumSet.allOf(Season.
class
);
System.out.println(enumSet);
// [SPRING, SUMMER, AUTUMN, WINTER]
EnumSet.ofメソッドを使用して、要素の一部を持つEnumSetを返します.
次の例では、月の列挙類から夏、冬に所有する月からなるEnumSetを得ます.
ヘルプ
Set<Month> summer = EnumSet.of(Month.APRIL, Month.MAY, Month.JUNE);
System.out.println(summer);
// [APRIL, MAY, JUNE]
Set<Month> winter = EnumSet.of(Month.OCTOBER, Month.NOVEMBER,
Month.DECEMBER);
System.out.println(winter);
// [OCTOBER, NOVEMBER, DECEMBER]
addAllメソッドを使用して、1つのEnumSetのすべての要素を別のEnumSetに追加します.
ヘルプ
emptyEnumSet.addAll(enumSet);
System.out.println(emptyEnumSet);
// [SPRING, SUMMER, AUTUMN, WINTER]
toArrayメソッドを使用して、EnumSetの要素を配列に格納します.
ヘルプ
// EnumSet
Season[] seasons =
new
Season[enumSet.size()];
enumSet.toArray(seasons);
System.out.println(Arrays.deepToString(seasons));
// [SPRING, SUMMER,
// AUTUMN, WINTER]
原文アドレスhttp://thecodesample.com/?p=583
その他の例は http://thecodesample.com/