版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA应用开发详解第14章:枚举
——类集对枚举的支持MLDN软件教学研发部本章目标掌握EnumMap类的使用掌握EnumSet类的使用类集对枚举的支持在JDK1.5的java.util程序包中提供两个新的集合操作类:EnumMap和EnumSet,这两个类与枚举类型的结合应用可使以前非常繁琐的程序变得简单方便。EnumSet类提供了java.util.Set接口的一个特殊实现,而EnumMap类提供了java.util.Map接口的一个特殊实现,该类中的键(key)是一个枚举类型。EnumMapEnumMap是Map接口的子类,所以本身还是以Map的形式进行操作,即:keyvalue。如果要想使用EnumMap,则首先要创建EnumMap的对象,在创建此对象时必须指定要操作的枚举类型,所以构造方法如下所示:publicEnumMap(Class<K>keyType)验证EnumMappackageorg.lxh.demo14.enumcol;importjava.util.EnumMap;importjava.util.Map;enumColor{
RED,GREEN,BLUE; //定义枚举的三个类型}public
classEnumMapDemo{
public
static
voidmain(String[]args){ Map<Color,String>desc=null; //定义一个Map对象
desc=newEnumMap<Color,String>(Color.class);//实例化EnumMap desc.put(Color.RED,"红色"); //加入一个内容
desc.put(Color.GREEN,"绿色"); //加入一个内容
desc.put(Color.BLUE,"蓝色"); //加入一个内容
System.out.println("=====输出全部的内容=====");
for(Colorc:Color.values()){ //取得全部的枚举
System.out.println(()+"-->"+desc.get(c)); } System.out.println("=====输出全部的键值=====");
for(Colorc:desc.keySet()){ //取得全部的key System.out.print(()+"、"); } System.out.println(); //换行
System.out.println("=====输出全部的内容=====");
for(Strings:desc.values()){ //取得全部的value System.out.print(s+"、"); }}}EnumSetEnumSet是Set接口的子类,所以里面的内容是无法重复的,在使用EnumSet的时候是不能直接使用关键字new为其进行实例化的,所以在此类中提供了很多的静态方法。EnumSet类的常用方法No.方法类型说明1publicstatic<EextendsEnum<E>>EnumSet<E>allOf(Class<E>elementType)普通将枚举中的全部内容设置到EnumSet之中2publicstatic<EextendsEnum<E>>EnumSet<E>of(Efirst,E...rest)普通创建一个包含枚举指定内容的EnumSet对象3publicstatic<EextendsEnum<E>>EnumSet<E>copyOf(Collection<E>c)普通创建一个从指定Collection中指定的EnumSet对象4publicstatic<EextendsEnum<E>>EnumSet<E>complementOf(EnumSet<E>s)普通创建一个其元素类型与指定枚举set相同的枚举set,最初包含指定集合中所不包含的此类型的所有元素5publicstatic<EextendsEnum<E>>EnumSet<E>noneOf(Class<E>elementType)普通创建一个可以接收指定类的空集合验证EnumSet——将全部的集合设置到EnumSet集合之中packageorg.lxh.demo14.enumcol;importjava.util.EnumSet;enumColor{
RED,GREEN,BLUE; //定义枚举的三个类型}public
classEnumSetDemo01{
public
static
voidmain(String[]args){ EnumSet<Color>es=null; //声明一个EnumSet对象
System.out.println("=====EnumSet.allOf(Color.class)====="); es=EnumSet.allOf(Color.class); //将枚举的全部类型设置到EnumSet对象之中
print(es); }
public
static
voidprint(EnumSet<Color>temp){ //专门的输出操作
for(Colorc:temp){ //循环输出EnumSet中的内容
System.out.print(c+"、"); } System.out.println(); }}验证EnumSet——只设置一个枚举的类型到集合之中packageorg.lxh.demo14.enumcol;importjava.util.EnumSet;enumColor{
RED,GREEN,BLUE; //定义枚举的三个类型}public
classEnumSetDemo02{
public
static
voidmain(String[]args){ EnumSet<Color>es=null; //声明一个EnumSet对象
System.out.println("=====EnumSet.of(Color.BLUE)====="); es=EnumSet.of(Color.BLUE); //设置一个枚举的内容
print(es); }
public
static
voidprint(EnumSet<Color>temp){ //专门的输出操作
for(Colorc:temp){ //循环输出EnumSet中的内容
System.out.print(c+"、"); } System.out.println(); }}验证EnumSet——创建只能放入指定枚举类型的集合packageorg.lxh.demo14.enumcol;importjava.util.EnumSet;enumColor{
RED,GREEN,BLUE; //定义枚举的三个类型}public
classEnumSetDemo03{
public
static
voidmain(String[]args){ EnumSet<Color>es=null; //声明一个EnumSet对象
System.out.println("=====EnumSet.noneOf(Color.class)====="); es=EnumSet.noneOf(Color.class); //创建一个可以加入Color类型的对象
es.add(Color.RED); //增加内容
es.add(Color.GREEN); //增加内容
print(es); }
public
static
voidprint(EnumSet<Color>temp){ //专门的输出操作
for(Colorc:temp){ //循环输出EnumSet中的内容
System.out.print(c+"、"); } System.out.println(); }}验证EnumSet——创建不包含指定元素的集合packageorg.lxh.demo14.enumcol;importjava.util.EnumSet;enumColor{ RED,GREEN,BLUE; //定义枚举的三个类型}publicclassEnumSetDemo04{ publicstaticvoidmain(String[]args){ EnumSet<Color>esOld=null; //声明一个EnumSet对象 EnumSet<Color>esNew=null; //声明一个EnumSet对象 esOld=EnumSet.noneOf(Color.class); //创建一个可以加入Color类型的对象 esOld.add(Color.RED); //增加内容 esOld.add(Color.GREEN); //增加内容 System.out.println("=====plementOf(es)====="); esNew=plementOf(esOld); //创建一个不包含指定元素的集合 print(esNew); } publicstaticvoidprint(EnumSet<Color>temp){ //专门的输出操作 for(Colorc:temp){ //循环输出EnumSet中的内容 System.out.print(c+"、"); } System.out.println(); }}验证EnumSet——拷贝已有的内容packageorg.lxh.demo14.enumcol;importjava.util.EnumSet;enumColor{
RED,GREEN,BLUE; //定义枚举的三个类型}public
classEnumSetDemo05{
public
static
voidmain(String[]args){ EnumSet<Color>esOld=null; //声明一个EnumSet对象
EnumSet<Color>esNew=null; //声明一个EnumSet对象
esOld=EnumSet.noneOf(Color.class); //创建一个可以加入Color类型的对象
esOld.add(Color.RED); //增加内容
esOld.add(Color.GREEN); //增加内容
System.out.println("=====EnumSet.copyOf(es)====="
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于商洽采购原材料价格谈判的函4篇范本
- 确认产品交付验收人员及标准确认函4篇范本
- 文化传媒行业编辑内容策划绩效衡量表
- 建筑消防系统维护与检测手册
- 市场调研报告交付及反馈确认函(3篇)
- 家居软装搭配在线指南
- 可再生能源项目规划与实施指南
- 机械结构设计绩效指标表
- 2026年安阳市文峰区社区网格员招录考试真题库(含答案)
- 商议2026年海外展会参展合作细节商洽函6篇
- 2026年4月自考04851产品设计程序与方法试题及答案含评分参考
- DB 61T 5086-2023高效空调制冷机房设计标准
- 2026年甘肃安泰集团有限责任公司招聘工作人员笔试备考题库及答案解析
- 走心机培训教程
- 高频电刀安全使用课件
- 16.2.1 线段垂直平分线的性质 课件
- 2025-2026学年四川省成都七中高一(上)期中物理试卷(含答案)
- 统招专升本英语4000词考前必背词汇表(含高频短语与记忆法)
- CRRT与体外二氧化碳清除技术联合方案
- 农机租用耕种协议书
- 综合与实践 进位制的认识与探究教学设计初中数学人教版2024七年级上册-人教版2024
评论
0/150
提交评论