简单介绍java Enumeration

来源:互联网 发布:理财范网络贷款 编辑:程序博客网 时间:2024/05/03 16:59

简单介绍java Enumeration

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型的
          MyDataStructmySataStruct=new myDataStruct();
          //
得到描述myDataStruct象的enumeration
          EnumerationmyEnumeration =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() {
            returndataArray[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 newMyEnumeration(0,data.length,data);
   

程序的运行
zero
one
two
three

 

 

 Java-Enumeration总结


 

Enumeration(枚举)接口的作用和Iterator类似,只提供了遍历Vector和HashTable类型集合元素的功能,不支持元素的移除操作。

 

Java8中Enumeration接口的源码:

public interface Enumeration<E> {/**     * Tests if this enumeration contains more elements.     *     * @return  <code>true</code> if and only if this enumeration object     *           contains at least one more element to provide;     *          <code>false</code> otherwise.     */boolean hasMoreElements();//判断是否包含元素/**     * Returns the next element of this enumeration if this enumeration     * object has at least one more element to provide.     *     * @return     the next element of this enumeration.     * @exception  NoSuchElementException  if no more elements exist.     */E nextElement();//得下一个元}

通过Enumeration的源码分析可得,Enumeration有两个方法:

(1)boolean hasMoreElements();//是否还有元素,如果有返回true,否则表示至少含有一个元素

(2)E nextElement();//如果Enumeration枚举对象还有元素,返回对象只能的下一个元素,否则抛出NoSuchElementException异常。

 

简单示例:

public class TestEnumeration{public static void main(String[] args){        Vector v = new Vector();        v.addElement("Lisa");        v.addElement("Billy");        v.addElement("Mr Brown");        Enumeration e = v.elements();//返回Enumeration        while(e.hasMoreElements()){            String value = (String)e.nextElement();//nextElement方法得元            System.out.print(value);        }    }}

 

0 0
原创粉丝点击