java Enumeration

转载 2015年11月20日 10:16:09

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枚举对象还含有元素,该方法得到对象中的下一个元素。

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

//MyEnumeration类实现Enumeration接口
class MyEnumeration 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 MyDataStruct

     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


实例,使用 HttpServletRequest 的 getParameterNames() 方法读取所有可用的表单参数。该方法返回一个枚举,其中包含未指定顺序的参数名。

一旦我们有一个枚举,我们可以以标准方式循环枚举,使用 hasMoreElements() 方法来确定何时停止,使用 nextElement() 方法来获取每个参数的名称。


Java集合之Enumeration

EnumerationEnumeration 接口是Iterator迭代器的“古老版本”,从JDK 1.0开始,Enumeration接口就已经存在了(Iterator从JDK 1.2才出现)。Enu...
  • wxc880924
  • wxc880924
  • 2016年09月23日 16:12
  • 1100

Java 获取Enumeration类型的集合方法

创建一个Enumeration集合: 今天看到老师上课用到了下述的第二种方法,然后也提到了第一种方法,我感觉还是有必要记录一下,以后还会记录更过。   说明: 我们知道Enumeration是一个接口...
  • hua631150873
  • hua631150873
  • 2013年09月14日 23:54
  • 3685

Java类集框架——foreach及Enumeration接口

学习目标 掌握foreach对集合的输出支持。 掌握Enumeration接口及使用要求。 JDK1.5之后增加了许多新的功能,其中foreach可以输出数组,实际上foreach语法中...
  • u013087513
  • u013087513
  • 2016年08月19日 11:01
  • 706

Java-Enumeration总结

Enumeration(枚举)接口的作用和Iterator类似,只提供了遍历Vector和HashTable类型集合元素的功能,不支持元素的移除操作。 Java8中Enumeration接口的源码...
  • qq924862077
  • qq924862077
  • 2015年08月27日 09:01
  • 23581

java学习之Enumeration foreach

package cn.myarraylist.domain;import java.util.Enumeration; import java.util.Iterator; import java.u...
  • weiyumeizi
  • weiyumeizi
  • 2017年03月16日 19:20
  • 339

[疯狂Java]集合:Collections工具类、Enumeration(摒弃)

1. Collections工具类简介:     1) Java提供的专门用来操作集合的工具类(全部都是静态工具方法),可以操作Set、List、Map;     2) 主要功能包括:        ...
  • Lirx_Tech
  • Lirx_Tech
  • 2016年06月01日 13:37
  • 761

Java中Iterator和Enumeration详解

Iterator接口的功能是遍历Collection容器中的元素
  • lzm1340458776
  • lzm1340458776
  • 2014年05月16日 17:35
  • 1616

enumeration枚举变量的大小

在《C语言深度剖析》这本书中留有一个问题,枚举变量的大小是多少? 1、大家猜一下下面这段程序红色部分输出的结果是多少? 2、在printf(char *fmt.....)函数里,如需打印枚举变量里...
  • qq_24373811
  • qq_24373811
  • 2016年10月28日 09:39
  • 406

java.util.Enumeration接口

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE ...
  • zccst
  • zccst
  • 2009年12月29日 11:39
  • 7988

Enumeration遍历http请求参数的一个例子

Enumeration遍历http请求参数的一个例子
  • stubbornness1219
  • stubbornness1219
  • 2015年11月24日 15:32
  • 2321
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java Enumeration
举报原因:
原因补充:

(最多只允许输入30个字)