Enumeration接口 
Enumeration接口本身不是一个数据结构。但是,对其他数据结构非常重要。 Enumeration接口定义了从一个数据结构得到连续数据的手段。例如,Enumeration定义了一个名为nextElement的方法,可以用来从含有多个元素的数据结构中得到的下一个元素。 
Enumeration接口提供了一套标准的方法,由于Enumeration是一个接口,它的角色局限于为数据结构提供方法协议。下面是一个使用的例子: 
//e is an object that implements the Enumeration interface
while (e.hasMoreElements()) {
    Object o= e.nextElement();
    System.out.println(o);

实现该接口的对象由一系列的元素组成,可以连续地调用nextElement()方法来得到 Enumeration枚举对象中的元素。Enumertion接口中仅定义了下面两个方法。 
·boolean hasMoreElemerts() 
测试Enumeration枚举对象中是否还含有元素,如果返回true,则表示还含有至少一个的元素。 
·Object nextElement() 
如果Bnumeration枚举对象还含有元素,该方法得到对象中的下一个元素。

【例】
/*
* @(#)DemoEnumeration.Java 
* 演示Enumeration接口的使用
* / 
import java.util.*;
class DemoEnumeration{ 
     public static void main(String[] args){
          //实例化MyDataStruct类型的对象
          MyDataStruct mySataStruct=new myDataStruct();
          //得到描述myDataStruct类型对象的enumeration对象
          Enumeration myEnumeration =myDataStruct.getEnum();
         //使用对象循环显示myDataStruct类型的对象中的每一个元素
         while (myEnumeration.hasMoreElements())
               System.out.println(myEnumeration.nextElement());
    } 
}

//MyEnumeration类实现Enumeration接口
class MyEnumerator implements Enumeration

      int count; // 计数器
      int length; //存储的数组的长度
      object[] dataArray; // 存储数据数组的引用
      //构造器
      MyEnumeration(int count,int length,object[] dataArray){ 
            this.count = count;
            this.length= length;
            this.dataArray=dataArray;
      } 
      public boolean hasMoreElements() { 
            return (count< length);
      }
      public Object nextElement() {
            return dataArray[count++];
      }

//MyDataStruct类用于实例化一个简单的、可以提供enumeration对象
//给使用程序的数据结果对象
class MyDataSttuct

     String[] data;
     // 构造器
     MyDataStruct(){
          data=new String[4] 
          data[0] ="zero";
          data[1]="one";
          data[2] ="two";
          data[3]="three";
    }
    // 返回一个enumeration对象给使用程序
    Enumeration getEnum() {
          return new MyEnumeration(0,data.length,data);
    }

程序的运行结果为: 
zero
one
two
three

转载于:https://www.cnblogs.com/Syria/p/6371986.html

简单介绍java Enumeration(转)相关推荐

  1. java enumerator_简单介绍java Enumeration

    Enumeration接口 Enumeration接口本身不是一个数据结构.但是,对其他数据结构非常重要. Enumeration接口定义了从一个数据结构得到连续数据的手段.例如,Enumeratio ...

  2. 简单介绍Java中Comparable和Comparator

    转载自 简单介绍Java中Comparable和Comparator Comparable 和 Comparator是Java核心API提供的两个接口,从它们的名字中,我们大致可以猜到它们用来做对象之 ...

  3. java ear包_简单介绍Java 的JAR包、EAR包、WAR包区别

    原标题:简单介绍Java 的JAR包.EAR包.WAR包区别 WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.War专 ...

  4. java编译时注解_简单介绍 Java 中的编译时注解

    1. 前言 上一篇 主要介绍了什么是 注解 (Annotation) 以及如何读取 运行时注解 中的数据, 同时用注解实现了简单的 ORM 功能. 这次介绍另一部分: 如何读取 编译时注解 ( Ret ...

  5. linux java jar war_简单介绍Java 的JAR包、EAR包、WAR包区别

    WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.War专用于Web方面.大部分的JAVA WEB工程,都是打成WAR包 ...

  6. java 不定长参数_简单介绍Java的不定长度参数

    本文版权归作者所有,仅供用来网上学习来用,读者可以收藏,请不要下载到本机和重新发布到其它网站 先看两个简单的例子,来感受一下Java的不定长度参数 第一个例子: public class VariAr ...

  7. java中的el表达式_简单介绍Java中的EL表达式(图)

    EL全名为Expression Language,这篇文章主要给大家介绍EL表达式的主要作用及内容简介,感兴趣的朋友一起看看 JSP页面中支持使用EL表达式,EL全名为Expression Langu ...

  8. -1-6 java 异常简单介绍 java异常 异常体系 Throwable 分类 throws和throw 异常处理 自定义异常...

    异常 异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象. 其实就是Java对不正常情况进行描述后的对象 ...

  9. 消息队列-简单介绍Java消息队列,什么是消息队列,作用以及常见消息队列

    天天说队列, 项目请求数据不能及时处理时,就一言不合通过队列啊, 心中那个是妈卖批,那么到底什么队列呢,队列有到底运用于哪些运用场景呢; 先说说应用场景吧, 不知道有啥作用,看多了含义,原理什么的还是 ...

最新文章

  1. PAT甲级题目翻译+答案 AcWing(贪心)
  2. NC7-买卖股票的最好时机
  3. ulp通信_Java Math类ulp()方法及示例
  4. 笔记本中美化代码的方法
  5. mysql fm999990.99999_Oracle如何显示小数点前面的0
  6. 有源带阻和无源带阻的区别_发明有源低音炮的 Ken Kreisel重新定义了低音炮:把玩DXD300A/B...
  7. python编程是干嘛的-Python这么火到底能干啥?
  8. SonarQube安装步骤 Windows10系统
  9. iOS 获取设备的方向
  10. Allegro PCB封装库(分类、命名很规范,已验证)
  11. 像素、英寸、厘米的换算
  12. vue执行mounted_vue mounted方法执行多次问题的解决方案
  13. 计算机减法函数word,Word中减法公式怎么用
  14. ai文字后面出现特殊符号
  15. 2021/1/16-每日三题第23弹:skr小机灵鬼儿 ?你知道 JavaScript 中的原型和原型链是什么吗 ???
  16. Debian本地源的创建及应用
  17. (转载)书蕴——基于书评的人工智能推荐系统
  18. 入职转正后被领导谈话
  19. 批量处理大量TXT格式的数据导入到数据库中
  20. RFSoC全面解析(八)—— ZCU111 RFSoC评估工具的上位机界面

热门文章

  1. 手册中数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留的理解
  2. 智能电饭煲电路图及其原理_变电所的主电路图解析及总降压变电所主电路图解析...
  3. : Attribute xmlns was already specified for element web-app.
  4. Rust性能分析-迭代器的enumerate方法是否会影响程序性能
  5. Go 除了泛型外最值得期待的新功能,模糊测试
  6. matlab gui表格行标1234没有,MATLAB GUI:滑塊作爲滾動條;子面板不夾
  7. android开发 问卷调查案例_Android开发Handler的简单使用——随机点名案例
  8. Spring AOP知识详解
  9. 深入理解ArrayList
  10. Oculus首席科学家发声,称VR需要能够“欺骗”大脑