java小结之Enumeration

java中的Enumeration接口本身不是一个数据结构,但是,对其他的数据结构却有着很大的作用。Enumeration接口定义了一个从一个连续数据结构得到连续数据的手段,主要用到Enumeration接口中定义的hasMoreElements()和nextElement()这两个方法。

下面是一个来自网上的例子:

import java.util.Enumeration;

// 主程序
public class EnumerationDemo {
  public static void main(String[] args) {
    MyDataStruct myDataStruct = new MyDataStruct();
    Enumeration<Object> myEnumeration = myDataStruct.getEnum();
    while (myEnumeration.hasMoreElements()) {
      System.out.println(myEnumeration.nextElement());
    }
  }
}

// 实现Enumeration接口
class MyEnumration implements Enumeration<Object> {
  int count;
  int length;
  Object[] dataArray;

  public MyEnumration() {
    super();
  }

  public MyEnumration(int count, int length, Object[] dataArray) {
    super();
    this.count = count;
    this.length = length;
    this.dataArray = dataArray;
  }

  @Override
  public boolean hasMoreElements() {
    return (this.count < this.length);
  }

  @Override
  public Object nextElement() {
    return this.dataArray[count++];
  }
}

// 定义一个数据结构
class MyDataStruct {
  String[] data;

  public MyDataStruct() {
    this.data = new String[4];
    data[0] = "zero";
    data[1] = "one";
    data[2] = "two";
    data[3] = "three";
  }

  // 返回一个enumration对象
  Enumeration<Object> getEnum() {
    return new MyEnumration(0, this.data.length, this.data);
  }
}

注意,上面的例子中先定义了一个MyEnumration来实现Enumeration接口。

参考资料:

本文标题:java小结之Enumeration

本文链接:http://yedward.net/?id=263

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章