java掃盲 介面 Enumeration

來源:互聯網
上載者:User

標籤:style   blog   http   color   java   使用   io   strong   

摘要: 摘要: 原創出處: 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);              }       }}

你可以看到以下輸出

LiYYYBrown
三.示範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());    }}

你可以看到下面輸出:

zeroonetwothree
四.感謝知識來源和小結

一.初識Enumeration

二.功能的使用

三.示範Enumeration介面的使用

 

來自:java基礎

書法是人藝術和美的產物

             

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.