枚举类Enumeration的使用以及与iterator的区别

ps:iterator和枚举类的区别

1.iterator多了一个删除元素的api

2.其次在定义名称上貌似改进了些

下面是转载的枚举类使用:

Enumeration


Enumeration接口本身不是一个数据结构。但是,对其他数据结构非常重要。

Enumeration接口定义了从一个数据结构得到连续数据的手段。

例如,Enumeration定义了一个名为nextElement的方法,可以用来从含有多个元素的数据结构中得到的下一个元素。 Enumeration接口提供了一套标准的方法,由于Enumeration是一个接口,它的角色局限于为数据结构提供方法协议。

Enumertion接口中仅定义了下面两个方法:

boolean hasMoreElemerts() 测试Enumeration枚举对象中是否还含有元素,如果返回true,则表示还含有至少一个的元素。 ·

Object nextElement() 如果Bnumeration枚举对象还含有元素,该方法得到对象中的下一个元素。


Enumeration是个接口,不是类,再次,这个东西就是为了实现遍历的,现在已经被迭代器Iterator取代了

例1:

MyDataSttuct.java

[java] view plain copy
  1. packagecn.run.zuoye_3;
  2. importjava.util.Enumeration;
  3. publicclassMyDataSttuct{
  4. String[]data;
  5. //构造器
  6. publicMyDataSttuct(){
  7. data=newString[4];
  8. data[0]="zero";
  9. data[1]="one";
  10. data[2]="two";
  11. data[3]="three";
  12. }
  13. //返回一个enumeration对象给使用程序
  14. EnumerationgetEnum(){
  15. returnnewMyEnumerator(0,data.length,data);
  16. }
  17. }

MyEnumerator.java

[java] view plain copy
  1. packagecn.run.zuoye_3;
  2. importjava.util.Enumeration;
  3. classMyEnumeratorimplementsEnumeration
  4. {
  5. intcount;//计数器
  6. intlength;//存储的数组的长度
  7. Object[]dataArray;//存储数据数组的引用
  8. //构造器
  9. publicMyEnumerator(intcount,intlength,Object[]dataArray){
  10. this.count=count;
  11. this.length=length;
  12. this.dataArray=dataArray;
  13. }
  14. publicbooleanhasMoreElements(){
  15. return(count<length);
  16. }
  17. publicObjectnextElement(){
  18. returndataArray[count++];
  19. }
  20. }

DemoEnumeration.java

[java] view plain copy
  1. packagecn.run.zuoye_3;
  2. importjava.util.*;
  3. classDemoEnumeration{
  4. publicstaticvoidmain(String[]args){
  5. //实例化MyDataStruct类型的对象
  6. MyDataSttuctmySataStruct=newMyDataSttuct();
  7. //得到描述myDataStruct类型对象的enumeration对象
  8. Enumeration<MyDataSttuct>myEnumeration=mySataStruct.getEnum();
  9. System.out.println(myEnumeration);
  10. //使用对象循环显示myDataStruct类型的对象中的每一个元素
  11. while(myEnumeration.hasMoreElements())
  12. System.out.println(myEnumeration.nextElement());
  13. }
  14. }

例2:
[java] view plain copy
  1. packagecn.run.zuoye_3;
  2. importjava.util.Enumeration;
  3. importjava.util.Properties;
  4. publicclassPropertiesTest{
  5. publicstaticvoidmain(String[]args){
  6. //获取系统属性文件中的键值对
  7. Propertiespro=System.getProperties();
  8. //把属性文件中的值放入枚举中+泛型
  9. //Enumerationenu=pro.propertyNames();
  10. Enumerationenu=pro.keys();
  11. //遍历枚举
  12. while(enu.hasMoreElements()){
  13. //获取枚举中的键
  14. Stringkeys=(String)enu.nextElement();
  15. //通过键得到对应的值
  16. Stringvalues=(String)pro.get(keys);
  17. System.out.println("系统属性文件中的数据是:【"+keys+"="+values+"】");
  18. }
  19. }
  20. }
文章地址:http://blog.youkuaiyun.com/wangbaoyin/article/details/7561233
Linux----Ubuntu系统官网下载iso镜像文件 阅读详情

相关推荐

积木报表导出数据量太大报错

‌性能问题‌:‌当数据量非常大时,‌积木报表在导出过程中可能会遇到性能瓶颈,‌导致导出过程缓慢甚至失败。‌解决这一问题的方法包括优化SQL查询、‌调整分页大小、‌使用更适合处理大量数据的库(‌如阿里巴巴的EasyExcel)‌进行导出,‌或者采用异步处理的方式来避免接口超时1。‌内存溢出‌:‌如果报表工具或其依赖的库不支持流式(‌分批)‌导出,‌大量数据的处理可能会导致内存溢出。‌数据处理方式‌:‌如果待导出的数据包含特殊字符,‌如英文双引号或等号,‌这可能导致JSON反序列化报错。

Activiti工作流 1908

知识点干货—Enumeration和Iterator的对比

Enumeration和Iterator也是Java常见的基础知识点,如果能够对二者有个清晰的认识,知道孰优孰劣,都使用在什么场合,那么在遍历集合元素时,将会游刃有余,得心应手。我们先来介绍一下两者的概念,代码示例,然后再比较一下它们的相同点和不同之处。1、简介我们知道,迭代器是为容器而生的,没有容器就没有迭代器。迭代器的主要功能就是要更快速、便捷的遍历容器中的元素。在遍历容器中的元素时,我们首先想

宝剑锋从磨砺出,梅花香自苦寒来! 1338

机器视觉避坑指南:为什么你的Halcon划痕检测总漏检?(附优化方案)

本文深入剖析了Halcon在表面划痕检测中漏检率高的常见原因,如灰度值波动、噪声干扰及形态学参数设置不当。针对复杂背景与低对比度划痕,提出了超越官方例程的多尺度纹理分析与特征融合优化方案,旨在帮助开发者构建更鲁棒、稳定的机器视觉检测流程,有效提升检出率。

weixin_29057163的博客 235

Java中枚举类的创建及其应用场景

Java中枚举类的创建及其应用场景,Enum关键字

欢迎阅读我的博客 774

Synopsys PCIe IP Loopback功能深度解析与应用实践

本文深入解析了Synopsys PCIe IP的Loopback功能,包括本地数字环回和远程环回两种模式的应用实践。通过详细的寄存器配置步骤和实战案例,帮助开发者快速掌握PCIe芯片验证与调试技术,提升系统开发效率。特别适合PCIe协议相关的硬件工程师和验证工程师参考。

weixin_29198045的博客 530

【实战指南】Green Hills MULTI-IDE 从零安装到工程创建全流程

本文详细介绍了Green Hills MULTI-IDE从零安装到工程创建的全流程,包括系统要求检查、安装步骤、工程配置及调试技巧。特别适合嵌入式开发新手快速上手这款专业IDE工具,提升开发效率。

weixin_28740299的博客 477

Enumeration和Iterator

枚举(Enumeration)接口是从以前版本遗留下来。在下面依次介绍Enumeration 和每一种从以前版本遗留下来的类。 Enumeration接口 Enumeration接口定义了可以对一个对象的类集中的元素进行枚举(一次获得一个)的方法。这个接口尽管没有被摈弃,但已经被Iterator所替 代。Enumeration对新程序来说是过时的。然而它仍被几种从以前版本遗留下来的类(

ithouse的专栏 694

MATLAB代码转到FPGA代码

添加完文件之后,需要设置输入的数据类型,设置完之后点击Workflow Advisor。MATLAB文件包含一个功能实现文件和测试文件。对应FPGA中的功能文件和测试文件。然后,将功能文件和测试文件添加到相应位置。然后选择APP中的HDL Coder代码。首先需要编写好MATLAB文件。点击链接,就可以查看你看到的代码。可以自己生成代码的语言类型。

小柚子的博客 3062

Java技术——Iterator和Enumeration的不同

0. Iterator和Enumeration的不同(1)两者的函数接口不同Enumeration只有2个函数接口,通过Enumeration我们只能读取集合的数据,而不能对数据进行修改。 Iterator有3个函数接口。Iterator除了能读取集合的数据之外,也能对数据进行删除操作。尽管前者还没有被弃用但是已经被后者所代替了,Enumeration已经过时的,之所以没有被弃用是因为它仍被几...

weixin_30652897的博客 220

组态王的日历时间控件脚本

日期时间控件中的脚本中在小于10的月份和天数前必须要加上0,这是由首字符对比机制规定的,首字母相同,就不再不做对比了,比如1和11,是一样的。首字母不同,再比较下一位。 float Ayear1; float Amonth1; float Aday1; string temp1; Ayear1=sd.Year; Amonth1=sd.Month; Aday1=sd.Day; temp1=StrFromInt( Ayear1, 10 ); if(Amonth1<10) temp1=temp1+"-0"+

逍遥子的博客 5718

由ip地址和子网掩码求网络号、主机号、广播地址(超详细)

1、用二进制数表示IP地址   在进行计算之前,我们首先要学会十进制的IP地址怎么转换为二进制的IP地址。   给出一个例子: 十进制:172.16.25.3 二进制:10101100.00010000.00011001.00000011 1、如果两台主机的网络号相同,我们就说它们是同一网段 2、主机号的意义 - 1)主机号部分全变成1,即为该网段的广播地址 - 2)主机号部分全变成0,即为该网段的网路地址(网络号) 3、如果主机号部分为x位,则该网络能容纳最大主机数为: 2的x次方-2。减2

爱吃雪糕的小布丁的博客 9万+

Iterator与 Enumeration

"迭代器” (Iterator) ,它属于一种对象,负责选择集合内的元素,并把它们提供给继承器的用户。作为一个类,它也提供了一级抽象。利用这一级抽象,可将集合细节与用于访问那个集合的代码隔离开。通过继承器的作用,集合被抽象成一个简单的序列。继承器允许我们遍历那个序列,同时毋需关心基础结构是什么——换言之, 不管它是一个矢量、 一个链接列表、 一个堆栈,还是其他什么东西。这样一来,我们就可...

weixin_30555515的博客 150

【IoT】 产品设计之结构设计:如何设计产品按键

1、硅胶按键功能实现有两种接触方式 1)硅胶按键按压在DOME片(锅仔片)上 通常用在手机、儿童手表手机、防水手机等防水设备上。 2)硅胶按键增加导电基,一种黑色的导电碳粒,实现回路导电 通常用在遥控器、电脑键盘、特殊设备上。 两种方式结构设计原理是一样的,按键的固定与配合间隙与行程要确保好。 2、硅胶遥控器按键的结构方式(导电基) 按键帽为大颗粒实心的,触点为黑色导电基,通过压注成型融合为一体,那么这种按键结构设计时需要注意那些呢? 最主要的是按键按压回弹的手感,由于没有DOME片实现

产品线负责人 8673

Iterator迭代器-ListIterator-Enumeration枚举类接口的特点和区别

1、Iterator的特点: API中是这样解释的: 对collection进行迭代的迭代器。它取代了Enumeration.迭代器与枚举有两点不同: A.迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的collection移除元素。 B.在方法名上得到了改进。 常用的方法有 hasNext()如果仍有元素可以迭代,则返回true. ...

u014344668的专栏 2368

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Iterator和Enumeration 区别 fail-fast 机制

   “Iterator(迭代器)” 或 “Enumeration(枚举类)” 都可以遍历集合,Iterator和Enumeration都是接口,主要区别在于接口数、fail-fast机制: (01) 函数接口不同:Enumeration只有2个函数接口。通过Enumeration,我们只能读取集合的数据,而不能对数据进行修改。Iterator只有3个函数接口。Iterator除了能读取集合的...

aawty 270

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

学习Java过程中遇到的一些问题

关于Serializable序列化的问题 序列化简介 将实现了Serializable接口的对象转化为一个字节序列,并可以将这个序列完全恢复为原来的对象,序列化可以弥补不同操作系统之间的差异 序列化作用 Java远程方法调用 对JavaBean进行序列化 serialVersionUID 序列化和反序列化就是通过对比其SerialversionUID来进行的,一旦Serialver...

gehulushang的博客 440

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java枚举算法

介绍Java中的枚举算法,包括基础概念、图解说明和经典例题实现。

书香水墨 185

Iterator和Enumeration的区别

第一部分 在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合。今天,我们就一起学习一下它们之间到底有什么区别。我们先看看 Enumeration.java 和 Iterator.java的源码,再说它们的区别。 Enumeration是一个接口,它的源码如下: package java.util; public inte...

qq_39241239的博客 944

Enumeration和Iterator的区别

(转)Enumeration和Iterator的区别 Iterator对集合进行迭代的迭代器。迭代器代替了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同: 迭代器允许调用方利用定义良好的语义在迭代期间从迭代器所指向的集合移除元素。方法名称得到了改进。  简化对集合的操作,主要功能是遍历并选择集合中的对象,其中有

xiangbq的博客 1万+

Iterator vs. Enumeration

转自:http://www.fengfly.com/plus/view-213904-1.html Iterator和Enumeration区别 在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合。今天,我们就一起学习一下它们之间到底有什么区别。 我们先看看 Enumeration.java 和 Iterat

asivy的专栏 721

18-Java集合-Iterator和Enumeration区别

第1部分 Iterator和Enumeration区别 在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合。今天,我们就一起学习一下它们之间到底有什么区别。 我们先看看 Enumeration.java 和 Iterator.java的源码,再说它们的区别。 Enumeration是一个接口,它的源码如下: packag...

pocher的博客 291

java集合--Iterator和Enumeration比较

这一章,我们对Iterator和Enumeration进行比较学习。内容包括: 第1部分 Iterator和Enumeration区别 第2部分 Iterator和Enumeration实例 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311275   第1部分 Iter

▄_◆_戀ル的专栏 249

Iterator和Enumeration区别

第1部分 Iterator和Enumeration区别 在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合。今天,我们就一起学习一下它们之间到底有什么区别。 我们先看看 Enumeration.java 和 Iterator.java的源码,再说它们的区别。 Enumeration是一个接口,它的源码如下: pac

JLegend的专栏 1394

java中enumeration_12.JAVA中的Enumeration和Enum

Enumeration:Enumeration为java.util中的接口已被Iterator取代。Enum:Enum为java.lang中的类1.标识符 MONDAY, TUESDAY等就称为枚举常量(enumeration constants)且不可重复。每一个枚举常量被隐式的声明成Day的一个public、static成员,而且其类型为Day,亦就是说这些常量是self-typed的。2.下...

weixin_32018297的博客 387

Java集合-Iterator和Enumeration比较

Iterator和Enumeration区别 在Java集合中,我们通常都通过 “Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合。今天,我们就一起学习一下它们之间到底有什么区别。 我们先看看 Enumeration.java 和 Iterator.java的源码,再说它们的区别。 Enumeration是一个接口,它的源码如下: package jav...

天高地阔的专栏 210

Java【集合系列】-17- Iterator和Enumeration比较

概要 这一章,我们对Iterator和Enumeration进行比较学习。内容包括: 第1部分 Iterator和Enumeration区别 第2部分 Iterator和Enumeration实例 转载请注明出处:http://www.cnblogs.com/

KeepLearning的博客 300
上一篇: 推荐几本javascript与jquery的好书
下一篇: jQuery Ajax 实例 全解析
IMSIB
博客等级 码龄17年 5粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值