java中的enumset其实是set的一个实现类了,但平常比较少用到,所以小结归纳下:
1 先定义一个枚举
public enum Seasons {
AUTMN,WINTER,SPRING,SUMMER
}
测试:
public static void main(String[] args) {
EnumSet<Seasons> coldSeasons = EnumSet.of(Seasons.AUTMN, Seasons.WINTER);
for (Seasons seasons : coldSeasons) {
System.out.println("SEASON:"+seasons.name());
}
}
使用of方法创建新的enumset,并且可以遍历,输出:
SEASON:AUTUMN SEASON:WINTER
2 allOf 输出所有枚举元素
EnumSet seasons = EnumSet.allOf(Seasons.class);
for (Seasons season : seasons) {
System.out.println("SEASONS:"+season.name());
}
SEASONS:AUTUMN SEASONS:WINTER SEASONS:SPRING SEASONS:SUMMER
3 Enuset.noneOf 输出空的
4 rangeOf包括起和始的范围
public static void main(String[] args) {
EnumSet seasons = EnumSet.range(Seasons.AUTUMN,Seasons.SPRING);
for (Seasons season : seasons) {
System.out.println("SEASONS:"+season.name());
}
输出:SEASONS:AUTUMN SEASONS:WINTER SEASONS:SPRING
5 complementOf方法,排除某个元素,比如
EnumSet seasons = EnumSet.range(Seasons.AUTUMN,Seasons.SPRING);
for (Seasons season : seasons) {
System.out.println("SEASONS:"+season.name());
}
EnumSet complementEnumset = EnumSet.complementOf(seasons);
for (Seasons season : complementEnumset) {
System.out.println("SEASON:"+season.name());
}
结果为:SEASON:SUMMER
分享到:
相关推荐
总结来说,Java中的`EnumSet`是位域的一个强大替代品,它提供了更好的可读性、安全性和易用性。在大多数情况下,我们应优先考虑使用`EnumSet`,除非在特定场景下需要位域来构建通信协议字段。在实际开发中,理解并...
EnumSet 是 Java 中用于存储枚举类型元素的集合类。它是 AbstractSet 的子类,并专门为枚举类型设计,提供了高效的实现。 下面是关于 EnumSet 的一些重要信息: 存储枚举元素:EnumSet 只能存储同一个枚举类型的...
总的来说,Java中的枚举是一种强大的特性,提供了类型安全的常量集合,并结合`EnumSet`和`EnumMap`这两个工具类,可以在处理枚举数据时实现高效的编程。理解并善用这些概念,将有助于编写更加可靠和高效的Java代码。
EnumSet是Java枚举类型的泛型容器,Java既然有了SortedSet、TreeSet、HashSet等容器,为何还要多一个EnumSet呢?答案肯定是EnumSet有一定的特性,举个例子,EnumSet的速度很快。其他特性不一一列举了,毕竟本文的...
EnumSet抽象类是Java枚举类型的泛型容器,具有速度快、占用内存小、效率高等特性。EnumSet的设计是专门为枚举类的集合类,所有元素必须是枚举类型,集合元素是有序的,内部以位向量的形式存储。 EnumSet抽象类的...
1. 集合框架:Java中的集合框架是`java.util`包的核心,包括List、Set、Queue和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。它们提供了存储和操作对象的基本功能,支持动态扩展和多种操作,如...
在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍一些重要的Java工具类及其功能。 1. `java.util.ArrayList` 和 `java.util.LinkedList`: - `ArrayList` 是基于...
Java API 1.5中文帮助文档是学习Java编程的重要参考资料,它详尽地阐述了Java 1.5版本中的各种类库、接口、方法和异常等核心概念。这份文档不仅适用于初学者,也对有经验的Java开发者具有极高的参考价值。通过深入...
在Java编程语言中,`Enum`(枚举)是一种特殊的类类型,用于定义固定的、预定义的常量集合。它们在程序设计中扮演着重要的角色,特别是在需要表示一组固定值时,如状态、颜色、星期等。本资源包提供了一些关于`Enum`...
这些只是Java API 1.8中的一小部分关键概念,完整的手册包括更多内容,如网络编程、国际化、XML处理、安全性和其他高级特性。开发者应详细阅读并理解这些API,以便在实际开发中充分利用Java的强大功能。
1.9 本章小结 22 本章练习 22 第2章 理解面向对象 23 2.1 面向对象 24 2.1.1 结构化程序设计简介 24 2.1.2 程序的三种基本结构 25 2.1.3 面向对象程序设计简介 27 2.1.4 面向对象的基本特征 28 2.2 UML...
2. **NIO.2**:非阻塞I/O(New I/O)在Java 6中得到了加强,引入了`java.nio.file`包,提供了一套全新的文件系统操作API,包括文件路径、文件属性和异步I/O操作等。 3. **改进的Swing**:Java 6.0的Swing组件库增加...
9. **枚举类型案例类(Case Classes)**:EnumSet和EnumMap等枚举相关类的性能优化和新特性,使得枚举在Java 7中更加强大且易于使用。 10. **可变参数方法的改进**:现在可以在重载方法中使用可变参数,即使它们的...
Java 集合概览小结 Java 集合概览是 Java 语言中的一种重要组件,提供了多种类和接口来帮助我们存储和管理对象集合。Java Collection API 中的集合类主要位于 java.util 包中,同时也有一些与并发相关的集合类位于 ...
在Java中,枚举提供了一种更安全、更规范的方式来处理常量,相比于传统的final static变量,枚举具有更多的内置功能和灵活性。 1. **枚举定义**: 在Java中,枚举的定义使用关键字`enum`。例如: ```java enum ...
Java 1.6版本是Java发展历程中的一个重要里程碑,引入了许多新特性,如增强的Swing组件、NIO.2、改进的垃圾收集机制等。 1. **集合框架**:在Java 1.6中,集合框架已经相当成熟,包括List、Set、Map接口以及它们的...
除了标准的集合框架之外,Java 还包含了一些历史遗留的集合类,如 `Vector`, `Stack`, `Hashtable` 等,这些类虽然已经不再推荐使用,但在老代码中仍然常见。它们的特点主要是线程安全,但性能较低。 #### 五、算法...
Java 7增强了枚举类型,提供了`EnumSet`和`EnumMap`,它们针对枚举类型进行了优化,提供了高效且内存友好的数据结构。 10. **并发更新集合(Concurrent Collections Enhancements)** `ConcurrentHashMap`在Java ...
枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用。以下是关于Java枚举类型的详细解释和相关知识点: 1. 定义枚举: 在Java中,枚举通过关键字`enum`来定义。例如,创建...
在Java中,Set接口是集合框架的一部分,它代表了不包含重复元素的无序集合。本篇将深入探讨Java中Set接口及其相关的实现类,以及如何在实际编程中运用。 Set接口继承自Collection接口,其主要特性是元素的唯一性,...