您的位置:首页 > 编程语言 > Java开发

Java枚举Enumeration接口

2015-08-10 11:15 411 查看
Enumeration接口本身不是一个数据结构。但是,对其他数据结构非常重要,它在其他数据结构的范畴里应用很广。
枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式。
例如,枚举定义了一个叫nextElement 的方法,该方法用来得到一个包含多元素的数据结构的下一个元素。

如今,枚举接口已经基本上被迭代器代替了,现在很少人会使用。它还是使用在诸如Vector和Properties这些传统类所定义的方法中,除此之外,还用在一些API类,并且在应用程序中也广泛被使用。 所以说学习一下还是很有必要的!

作用:Enumeration接口定义了从一个数据结构得到连续数据的手段。枚举Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素。

下面是Enumeration接口的方法:

1:boolean hasMoreElements( )=》 测试此枚举是否包含更多的元素。

2:Object nextElement( )=》如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。


实例1:

以下实例演示了Enumeration的使用:
import java.util.Vector;

import java.util.Enumeration;

public class Tester {

public static void main(String args[]) {

Enumeration day;

Vector dayNames = new Vector();

dayNames.add("星期一");

dayNames.add("星期二");

dayNames.add("星期三");

dayNames.add("星期四");

dayNames.add("星期五");

dayNames.add("星期六");

dayNames.add("星期日");

day = dayNames.elements();

while (days.hasMoreElements()){

System.out.println(days.nextElement());

}

}

以上实例编译运行结果如下:

星期一

星期二

星期三

星期四

星期五

星期六

星期日

实:2:
import java.util.Enumeration;

public class MyEnumerator implements Enumeration{

int count; // 计数器

int length; //存储的数组的长度

Object[] dataArray; // 存储数据数组的引用

//构造器

public MyEnumerator(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++];

}

}

import java.util.Enumeration;

class MyDataSttuct{

String[] data;

// 构造器

public MyDataSttuct(){

data=new String[4];

data[0] ="zero";

data[1]="one";

data[2] ="two";

data[3]="three";

}

// 返回一个enumeration对象给使用程序

public Enumeration getEnum() {

return new MyEnumerator(0,data.length,data);

}

}

import java.util.*;

public class DemoEnumeration{

public static void main(String[] args){

//实例化MyDataStruct类型的对象

MyDataSttuct mySataStruct=new MyDataSttuct();

//得到描述myDataStruct类型对象的enumeration对象

Enumeration myEnumeration =mySataStruct.getEnum();

//使用对象循环显示myDataStruct类型的对象中的每一个元素

while (myEnumeration.hasMoreElements())

System.out.println(myEnumeration.nextElement());

}

}

输出结果:
zero

one

two

three
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: