Java Enumeration インタフェース
Enumeration インタフェースではいくつかのメソッドが定義されており、これらのメソッドを通じてコレクション内の要素を走査することができます。
Javaでは、Enumeration インタフェースは java.util パッケージにあります。これは伝統的な古いインタフェースであり、hasMoreElements() と nextElement() という2つの主要なメソッドを提供します。
このような伝統のなインタフェースはイテレータに取って代わられました。Enumeration はまだ廃止されていませんが、現代のコードではほとんど使用されていません。それでも、Vector や Properties などの伝統のなクラスで定義されたメソッドや、一部の API クラスで使用されており、アプリケーションでも広く使用されています。 次の表は、Enumeration が宣言するいくつかのメソッドをまとめたものです。
| 番号 | メソッド説明 |
|---|---|
| 1 |
boolean hasMoreElements( ) 列挙内にさらに要素があるかどうかを確認するために使用します。 列挙にさらに要素が含まれる場合は true を返し、それ以外の場合は false を返します。 |
| 2 |
Object nextElement( ) 列挙内の次の要素を取得するために使用します。 列挙内の次の要素を返します。 |
例
以下の例では、Enumeration の使用方法を示します。
例
import java.util.Enumeration;
import java.util.Vector;
public class EnumerationExample {
public static void main(String[] args) {
// Vector コレクションを作成する
Vector<String> vector = new Vector<>();
vector.add("Apple");
vector.add("Banana");
vector.add("Orange");
// Enumeration オブジェクトを取得する
Enumeration<String> enumeration = vector.elements();
// Enumeration を使用してコレクションの要素を走査する
while (enumeration.hasMoreElements()) {
String element = enumeration.nextElement();
System.out.println(element);
}
}
}
import java.util.Vector;
public class EnumerationExample {
public static void main(String[] args) {
// Vector コレクションを作成する
Vector<String> vector = new Vector<>();
vector.add("Apple");
vector.add("Banana");
vector.add("Orange");
// Enumeration オブジェクトを取得する
Enumeration<String> enumeration = vector.elements();
// Enumeration を使用してコレクションの要素を走査する
while (enumeration.hasMoreElements()) {
String element = enumeration.nextElement();
System.out.println(element);
}
}
}
上記のコードでは、まず Vector コレクションを作成し、elements() メソッドを使用して Enumeration オブジェクトを取得しました。その後、hasMoreElements() と nextElement() メソッドを使用して、コレクション内の要素を走査しました。
例 2
import java.util.Vector;
import java.util.Enumeration;
public class EnumerationTester {
public static void main(String args[]) {
Enumeration<String> days;
Vector<String> dayNames = new Vector<String>();
dayNames.add("Sunday");
dayNames.add("Monday");
dayNames.add("Tuesday");
dayNames.add("Wednesday");
dayNames.add("Thursday");
dayNames.add("Friday");
dayNames.add("Saturday");
days = dayNames.elements();
while (days.hasMoreElements()){
System.out.println(days.nextElement());
}
}
}
上記の例をコンパイルして実行した結果は次のとおりです:
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
その他の拡張
Java データ構造