java扫盲 接口 Enumeration

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

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

一.初识Enumeration

二.功能的使用

三.演示Enumeration接口的使用

一.初识Enumeration

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

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

二.功能的使用

java.util Enumeration<E>

通常用 Enumeration 中的以下两个方法打印向量中的所有元素:

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

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

用法一:

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

for(Enumeration e = vec.elements(); e.hasMoreElements();)

{
 System.out.println(e.nextElement()); 
}

用法二:

e is an object that implements the Enumeration interface

while (e.hasMoreElements()) {

    Object o= e.nextElement();

    System.out.println(o);

}

下面举个例子:

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对象,给使用程序的数据结果对象

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基础

书法是人艺术和美的产物

java扫盲 接口 Enumeration,布布扣,bubuko.com

时间: 2024-11-05 07:01:05

java扫盲 接口 Enumeration的相关文章

java -&gt; List接口

List接口 我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢? 接下来,我们一起学习Collection中的常用几个子类(List集合.Set集合). List接口介绍 查阅API,看List的介绍.有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素.与 set 不同,列表通常允许重复的元素. 看完API,我们总结

java中接口中成员的定义

java中的接口的作用是提供编程框架,它作为统一的规范让其他类进行扩展,是java中非常优秀的设计. 这娃用以下代码总结了java中接口可以定义的成员以及它们默认被修饰的关键字: //外部接口的访问修饰符只能是public或默认修饰符 ,并且它的成员只能用public访问修饰符修饰, 接口不能用final修饰 public interface A { //成员变量,默认用public static final 修饰 String name="ahei"; //成员方法,默认用publi

java中接口的定义与实现

1.定义接口 使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,当中接口体由常量定义和方法定义两部分组成.定义接口的基本格式例如以下: [修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] 常量; [public] [abstract] 方法; } 修饰符:可选,用于指定接口的訪问权限,可选值为public.假设省略则使用默认的訪问权限. 接口名:必选參数,用于指定接口的名称,接口名

java中接口的使用

我们虽然写了两个文件,但是,两个文件中我们都是用了一个包mah. 我们可以在类中调用接口,看下面的例子 这是一个接口 [[email protected] java]# vim Output.java package mah; public interface Output { public static final int MAX_CACHE_LINE = 120; public abstract void out(); public abstract void getData(String

内功心法 -- Java标记接口

写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------这篇博客主要来谈谈"Java标记接口"的相关知识,主要内容包括: 1. 概述 2. Serializable 3. Cloneable 4. RandomAccess --------------------------------------------------------------------1.概述 Ja

深入理解Java的接口和抽象类(转)

深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类.下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.

java微信接口之四—上传素材

一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=ACCESS_TOKEN 其中ACCESS_TOKEN是我们动态获取的. 发送的数据: {"articles":[ { "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXC

java微信接口之五—消息分组群发

一.微信消息分组群发接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN   其中ACCESS_TOKEN是我们动态获取的.   发送的数据:(这里使用图文消息示例) { "filter":{ "group_id":"2" }, "mpnews":{ "me

(转载)深入理解java的接口和抽象类

本文转自地址:http://www.cnblogs.com/dolphin0520/p/3811437.html 作者:海子 出处:http://www.cnblogs.com/dolphin0520/ 深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类