EnumSet 是 Java 中一个专门为枚举类型设计的集合类,它提供了高效的枚举类型集合操作。要遍历 EnumSet 中的所有元素,可以使用以下几种方法:
使用增强型 for 循环(foreach): 这是最常用的遍历方式,简洁且易于理解。
import java.util.EnumSet;
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public class EnumSetExample {
public static void main(String[] args) {
EnumSet<Day> weekend = EnumSet.of(Day.SATURDAY, Day.SUNDAY);
for (Day day : weekend) {
System.out.println(day);
}
}
}
使用迭代器(Iterator):
通过调用 iterator() 方法获取迭代器,然后使用迭代器的 hasNext() 和 next() 方法进行遍历。
import java.util.EnumSet;
import java.util.Iterator;
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public class EnumSetExample {
public static void main(String[] args) {
EnumSet<Day> weekend = EnumSet.of(Day.SATURDAY, Day.SUNDAY);
Iterator<Day> iterator = weekend.iterator();
while (iterator.hasNext()) {
Day day = iterator.next();
System.out.println(day);
}
}
}
使用 toArray() 方法:
将 EnumSet 转换为数组,然后遍历数组。
import java.util.EnumSet;
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public class EnumSetExample {
public static void main(String[] args) {
EnumSet<Day> weekend = EnumSet.of(Day.SATURDAY, Day.SUNDAY);
Day[] days = weekend.toArray(new Day[0]);
for (Day day : days) {
System.out.println(day);
}
}
}
使用 Stream API(Java 8 及以上版本):
使用流式操作来遍历 EnumSet。
import java.util.EnumSet;
import java.util.stream.Stream;
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public class EnumSetExample {
public static void main(String[] args) {
EnumSet<Day> weekend = EnumSet.of(Day.SATURDAY, Day.SUNDAY);
Stream<Day> stream = weekend.stream();
stream.forEach(System.out::println);
}
}
这些方法都可以有效地遍历 EnumSet 中的所有元素,选择哪种方法取决于你的具体需求和个人偏好。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。