Java知识点总结(Java容器-EnumSet)
Java知识点总结(Java容器-EnumSet)
@(Java知识点总结)[Java, Java容器, JavaCollection, JavaSet]
EnumSet
- EnumSet是一个专为枚举设计的集合类 ,EnumSet中所有值都必须是指定枚举类型的枚举值,该枚举类型在创建EnumSet时显式或隐性的指定。EnumSet的集合元素也是有序的,EnumSet以枚举值在Enum类内的定义顺序来决定集合元素的排序。
- __EnumSet在内部以位向量的形式存储__,这种存储形式非常紧凑、高效,因此EnumSet对象占用内存很小,而且运行效率很好。尤其是当进行批量操作(如调用containsAll和retainAll方法)时,如其参数也是EnumSet集合,则该批量操作的执行速度也非常快。
- __EnumSet集合不容许加入null元素__。如果试图插入null元素,EnumSet将会抛出NullPointerException异常。
- EnumSet类没有暴露任何构造器来创建该类的实例,程序应该通过它提供的静态方法来创建EnumSet对象。
相关操作
//1.0创建一个EnumSet集合,集合元素就是Season枚举类的全部枚举值EnumSet<Season> es = EnumSet.allOf(Season.class);System.out.println(es);//输出[SPRING, SUMMER, AUTUMN, WINTER]//2.0创建一个EnumSet空集合,指定其集合元素时Season类的枚举值。EnumSet<Season> es2 = EnumSet.noneOf(Season.class);System.out.println(es2);//输出[]//2.1手动添加两个元素es2.add(Season.AUTUMN);es2.add(Season.WINTER);System.out.println(es2);//输出[AUTUMN, WINTER]//3.0以指定枚举值创建EnumSet集合EnumSet<Season> es3 = EnumSet.of(Season.SPRING, Season.SUMMER);System.out.println(es3);//输出[SPRING, SUMMER]//4.0创建包含从Season.SPRING枚举值,到Season.AUTUMN枚举值范围内所有枚举值的EnumSet集合。EnumSet<Season> es4 = EnumSet.range(Season.SPRING, Season.AUTUMN);System.out.println(es4); //输出[SPRING, SUMMER, AUTUMN]//5.0新创建的EnumSet集合元素和es4集合的元素有相同类型,es5的集合元素 + es4的集合元素 = Season 的所有枚举值EnumSet<Season> es5 = EnumSet.complementOf(es4);System.out.println(es5); //输出[WINNER]//6.0复制Collection集合中所有元素来创建EnumSet集合。Collection<Season> c = new HashSet<Season>();c.add(Season.AUTUMN);c.add(Season.WINTER);EnumSet<Season> es6 = EnumSet.copyOf(c);System.out.println(es6); //输出[AUTUMN, WINTER]
Java知识点总结(Java容器-EnumSet)相关推荐
- 给Java新手的一些建议——Java知识点归纳(Java基础部分)
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...
- java 解析tgw_给Java新手的一些建议——Java知识点归纳(Java基础部分)
1. JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可.不过对于一个有着3年以上Java经验的资深开发者来说,不 ...
- Java知识点总结(Java容器-ArrayList)
Java知识点总结(Java容器-ArrayList) @(Java知识点总结)[Java, Java容器, JavaCollection, JavaList] ArrayList 底层实现是数组,访 ...
- java webservice接口开发_给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)
J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面 ...
- 2022 Java 知识点总结
2022 Java知识点总结 Java Code 类加载 类加载机制 双亲委派机制 类的初始化 反射 反射的实现方式和原理 获取反射中的 Class 对象 获取构造函数 获取属性 获取方法 获取Cla ...
- Java知识点总结(JavaIO-合并流类)
Java知识点总结(JavaIO- 合并流类 ) @(Java知识点总结)[Java, JavaIO] [toc] 合并流的主要功能是将两文件的内容合并成一个文件 public class Demo1 ...
- Java知识点总结(JavaIO- System类对IO的支持与Scanner类 )
Java知识点总结(JavaIO- System类对IO的支持与Scanner类 ) @(Java知识点总结)[Java, JavaIO] [toc] System类 public class Dem ...
- Java知识点总结(JDBC-封装JDBC)
Java知识点总结(JDBC-封装JDBC) @(Java知识点总结)[Java, JDBC] 封装JDBC src目录下新建一个db.properties文件,用于封装数据库连接信息 把获取数据库连 ...
- Java知识点总结(注解-内置注解)
Java知识点总结(注解-内置注解) @(Java知识点总结)[Java, 注解] @Override 定义在java.lang.Override 中,此注释只适用于修饰方法,表示一个方法声明打算重写 ...
最新文章
- React-项目-引入外部的样式(14)
- Typesetting Engine_ Presto
- Xshell实现Windows上传文件到Linux主机
- 21世纪最需要的的七种人才 -李开复
- ubuntu12.04 启动n卡独显方法
- JSP中页面向Action传递参数的几种方式
- python中的items方法_Python 字典的items()方法和iteritems()方法有什么不同?【面试题详解】...
- NET问答: 如何集中化统一验证 Authorization
- avs 中国音视频标准DRA 中音频标准及应用
- java标识符定义_Java标识符命名规范
- nginx服务器设置url的优雅链接
- Http请求报文解析
- Dubbo错误No provider available for the service
- UnicodeDecodeError: ‘gb2312‘ codec can‘t decode byte 0xe9 in position 5632: illegal multibyte sequen
- Window10 磁盘如何分区(压缩卷操作)
- 【计算机系统结构】Micro-operation微操作
- DETR3D 多2d图片3D检测框架
- Python—re正则表达式
- 开源的兰空图床LskyPro
- java web中的导出excel_JAVA语言之怎么在JavaWeb中导出Excel
热门文章
- C语言main函数、return、exit函数
- MyEclipse 快捷键1(CTRL)
- 如何正确使用SqlConnection
- 艾伟_转载:.NET内存管理、垃圾回收
- 移植uboot第七步:支持DM9000
- php https server_使用https,$_SERVER['HTTPS']却不等于on?
- 面试中经常出现的算法1(整理)
- jmeter插件 --PerfMon Metrics Collector监控工具的使用
- BZOJ 4665: 小w的喜糖
- 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题...