天天看點

周遊枚舉接口的元素

早在Java SE 1.0版,就存在集合類。集合類可以用來管理一組相關的對象。當需要檢視、使用集合中的所有對象時可以使用枚舉接口對其進行周遊。枚舉接口中定義了兩個方法,它通常和向量一起使用。本執行個體将示範其用法,執行個體運作效果如圖

周遊枚舉接口的元素

實作了Enumeration接口的對象可以生成一系列元素,每次生成一個。通過連續調用nextElement()方法可以連續獲得枚舉接口中的元素。但是如果枚舉接口中已經沒有元素,調用該方法會抛出異常。是以應該先用hasMoreElements()方法判斷枚舉中是否還有可用元素。該接口定義了兩個方法,其聲明如下:

boolean hasMoreElements()      

測試枚舉接口中是否還含有可用元素,因為其傳回值是boolean,是以适合放在while循環中。

E nextElement()
      

如果枚舉接口中還有可用元素,則傳回下一個元素,否則會出現NoSuchElementException。

 技巧:Collections類的靜态方法enumeration()可以用來将任意集合轉換成枚舉接口類型。

編寫EnumerationTest類,在該類的main()方法中,首先在向量中增加3個元素,然後利用枚舉接口将其取出。代碼如下:

package com.mingrisoft.enumerationtest;

import java.util.Enumeration;
import java.util.Vector;

public class EnumerationTest {
    public static void main(String[] args) {
        Vector<Integer> vector = new Vector<Integer>();
        for (int i = 0; i < 3; i++) {
            vector.add(i);
            System.out.println("在向量中增加元素:" + i);
        }
        Enumeration<Integer> e = vector.elements();
        while (e.hasMoreElements()) {
            System.out.println("獲得向量中的元素:" + e.nextElement());
        }
    }
}      

說明:在Java SE 5.0版中,新增了一個重要特性——泛型。該特性可以用來控制集合中元素的類型。

心法領悟:枚舉接口的更新。

随着Java的不斷發展,新增加了一個Iterator接口,該接口不僅包括了枚舉接口的功能,還增加了一個remove()方法。另外,該接口對方法的名字進行了優化:hasNext()用來測試是否還有可用元素,next()用來獲得元素。在新類中,推薦使用Iterator()接口來實作周遊功能。