EnumSet 是 Java 中专门为枚举类型设计的集合类,它提供了高效的位向量实现,用于存储枚举常量的集合。由于 EnumSet 内部使用位向量来表示集合中的元素,因此添加元素的操作非常快速。
要向 EnumSet 中添加元素,可以使用以下方法:
使用 add(E e) 方法:
这是最常用的方法,用于向 EnumSet 中添加指定的枚举常量。
import java.util.EnumSet;
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class EnumSetExample {
public static void main(String[] args) {
EnumSet<Day> weekend = EnumSet.noneOf(Day.class);
weekend.add(Day.SATURDAY);
weekend.add(Day.SUNDAY);
System.out.println(weekend); // 输出: [SATURDAY, SUNDAY]
}
}
使用 addAll(Collection<? extends E> c) 方法:
如果你有一个包含枚举常量的集合,可以使用这个方法一次性将所有元素添加到 EnumSet 中。
import java.util.Arrays;
import java.util.EnumSet;
import java.util.Set;
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class EnumSetExample {
public static void main(String[] args) {
Set<Day> holidays = EnumSet.of(Day.NEW_YEAR, Day.CHristmas);
EnumSet<Day> allDays = EnumSet.allOf(Day.class);
allDays.addAll(holidays);
System.out.println(allDays); // 输出: [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, NEW_YEAR, CHRISTMAS]
}
}
使用 addAll(EnumSet<? extends E> s) 方法:
如果你有两个 EnumSet,可以使用这个方法将一个 EnumSet 中的所有元素添加到另一个 EnumSet 中。
import java.util.EnumSet;
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class EnumSetExample {
public static void main(String[] args) {
EnumSet<Day> weekend = EnumSet.of(Day.SATURDAY, Day.SUNDAY);
EnumSet<Day> holidays = EnumSet.of(Day.NEW_YEAR, Day.THANKSGIVING);
weekend.addAll(holidays);
System.out.println(weekend); // 输出: [SATURDAY, SUNDAY, NEW_YEAR, THANKSGIVING]
}
}
通过这些方法,你可以方便地向 EnumSet 中添加元素。EnumSet 的设计使得这些操作非常高效,适合用于需要频繁添加和删除元素的场景。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。