說明
1、EnumSet可以存儲一個枚舉中的元素,它提供了一種通過集合來操作枚舉類的方式。
2、EnumSet中的所有元素都必須指定枚舉類型的枚舉值,這種枚舉類型在創建EnumSet時是顯性的或隱性的。
實例
/**
* EnumSet 的設計充分考慮到了速度因素,因為它必須與非常高效的 bit 標志相競爭(其操作與 HashSet 相比,非常地快).
* 就其內部而言,它(可能)就是將一個 long 值作為比特向量,所以 EnumSet 非常快速高效。
* 使用 EnumSet 的優點是,它在說明一個二進制位是否存在時,具有更好的表達能力,并且無需擔心性能。
*/
private static void enumSet() {
// 空構造器
EnumSetweekEnums = EnumSet.noneOf(WeekEnum.class);
weekEnums.add(WeekEnum.MON);
weekEnums.add(WeekEnum.TUE);
weekEnums.add(WeekEnum.WEB);
// of工廠,可以接收多個enum
weekEnums.addAll(EnumSet.of(WeekEnum.THUR, WeekEnum.FRI, WeekEnum.SAT, WeekEnum.SUN));
System.out.println(weekEnums);
// range-范圍
weekEnums.removeAll(EnumSet.range(WeekEnum.MON, WeekEnum.WEB));
System.out.println(weekEnums);
// 創建一個與指定枚舉集具有相同元素類型的枚舉集,最初包含指定集中未包含的所有此類型的元素。
weekEnums = EnumSet.complementOf(weekEnums);
System.out.println(weekEnums);
}
以上就是java中EnumSet的使用,希望對大家有所幫助。更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。