java扫盲 接口 Enumeration

java扫盲 接口 Enumeration

摘要: 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 但愿转载,保留摘要,谢谢! html

记起2年前,高中生活最多的是老师的批评。谢谢! -泥沙砖瓦浆木匠

 

一.初识Enumeration

    当我写网络编程的时候,我发现了这个接口。很神奇的是之前都没用过,NetworkInterface.getNetworkInterfaces()返回的是Enumeration载体这NetworkInterface对象。Enumeration是java.util中的一个接口类,在Enumeration中封装了有关枚举数据集合的方法。Enumeration接口自己不是一个数据结构。可是,对其余数据结构很是重要。 Enumeration接口定义了从一个数据结构获得连续数据的手段。
                                  java

注意:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操做,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。

二.功能的使用

java.util Enumeration<E>

一般用 Enumeration 中的如下两个方法打印向量中的全部元素: 编程

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

(2) E nextElement()
          若是此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。 网络

用法一: 数据结构

vec 是接口实现类 Vector( 集合 ) 的对象, vec.elements() 得到 Vector( 集合 ) 的一个元素。 测试

for(Enumeration e = vec.elements(); e.hasMoreElements();) {
 System.out.println(e.nextElement()); 
}

用法二: this

e is an object that implements the Enumeration interface spa

复制代码
while (e.hasMoreElements()) { Object o= e.nextElement(); System.out.println(o); }
复制代码

下面举个例子: code

复制代码
public class TestEnumeration{ public static void main(String[] args){ Vector v = new Vector(); v.addElement("Li"); v.addElement("YYY"); v.addElement("Brown"); Enumeration e = v.elements(); while(e.hasMoreElements()){ String value = (String)e.nextElement(); System.out.println(value); } } }
复制代码

你能够看到如下输出

Li YYY Brown

三.演示Enumeration接口的使用

下面咱们就实现这个接口来完成一个小功能:

MyDataStruct类用于实例化一个简单的、能够提供enumeration对象,给使用程序的数据结果对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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);
    }
}


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++]; } }
复制代码

测试类 MainClass

复制代码
class MainClass { public static void main(String[] args) { // 实例化MyDataStruct类型的对象 MyDataStruct mySataStruct = new MyDataStruct(); // 获得描述myDataStruct类型对象的enumeration对象 Enumeration myEnumeration = mySataStruct.getEnum(); // 使用对象循环显示myDataStruct类型的对象中的每个元素 while (myEnumeration.hasMoreElements()) System.out.println(myEnumeration.nextElement()); } }
复制代码

你能够看到下面输出:

zero one two three

四.感谢知识来源和小结

一.初识Enumeration

二.功能的使用

三.演示Enumeration接口的使用

 

来自:java基础

书法是人艺术和美的产物

              QQ Photo20140812223610

相关文章
相关标签/搜索