Enumeration
日本語 | 列挙子 |
英語 | enumeration |
ふりがな | いにゅーまれーしょん、いなむれーしょん |
フリガナ | イニューマレーション、イナムレーション |
J2SEに含まれるインターフェイスのひとつ。パッケージも含めたインターフェイス名はjava.util.Enumeration。
配列やコレクションのように「複数のデータを並べたもの」に対して、順番にデータを取得する、という操作を提供するインターフェイス。
古いIteratorインターフェイス。
Java初期からあるインターフェイスだが、Iteratorインターフェイスに取って代わられた。VectorクラスがArrayListクラスに取って代わられたのと同じである。
Enumerationインターフェイスの実装クラスはStringTokenizerクラスのみであり、また、元々「コレクションが参照を返さないと使用できない」が、返すコレクションクラスはわずかのため、Enumerationインターフェイスを使用することはほとんどないだろう。
使用する場合には、IteratorインターフェイスのhasNext()メソッドがhasMoreElements()メソッドに、next()メソッドがnextElement()メソッドに対応するためそう読み替えればいいだろう。remove()メソッドに当たるメソッドは存在しない。
配列やコレクションのように「複数のデータを並べたもの」に対して、順番にデータを取得する、という操作を提供するインターフェイス。
古いIteratorインターフェイス。
Java初期からあるインターフェイスだが、Iteratorインターフェイスに取って代わられた。VectorクラスがArrayListクラスに取って代わられたのと同じである。
Enumerationインターフェイスの実装クラスはStringTokenizerクラスのみであり、また、元々「コレクションが参照を返さないと使用できない」が、返すコレクションクラスはわずかのため、Enumerationインターフェイスを使用することはほとんどないだろう。
使用する場合には、IteratorインターフェイスのhasNext()メソッドがhasMoreElements()メソッドに、next()メソッドがnextElement()メソッドに対応するためそう読み替えればいいだろう。remove()メソッドに当たるメソッドは存在しない。
// Sample.java
import java.util.Enumeration;
import java.util.StringTokenizer;
public class Sample
{
public static void main( String[] args )
{
// StringTokenizerクラスで文字列を分割します。
// 分割はコンストラクタで速攻行われます。
// 第1引数に対象の文字列を渡します。
// 第2引数に分割文字列を渡します。
String source = "http://www.kab-studio.biz/Programing/JavaA2Z/index.html";
String delimiter = "/";
// StringTokenizerクラスを作成します。
// ただし、スーパーインターフェイスのEnumerationインターフェイスで
// 受け取ります。
Enumeration enumeration = new StringTokenizer( source, delimiter );
// もう取得する要素がないとhasMoreElements()メソッドはfalseを返します。
while( enumeration.hasMoreElements() )
{
// 分割した各要素を取得します。
String current = (String)enumeration.nextElement();
// 出力します。
System.out.println( current );
// http:
// www.kab-studio.biz
// Programing
// JavaA2Z
// index.html
}
// 基本的な使い方はIteratorインターフェイスと同じです。
}
}
import java.util.Enumeration;
import java.util.StringTokenizer;
public class Sample
{
public static void main( String[] args )
{
// StringTokenizerクラスで文字列を分割します。
// 分割はコンストラクタで速攻行われます。
// 第1引数に対象の文字列を渡します。
// 第2引数に分割文字列を渡します。
String source = "http://www.kab-studio.biz/Programing/JavaA2Z/index.html";
String delimiter = "/";
// StringTokenizerクラスを作成します。
// ただし、スーパーインターフェイスのEnumerationインターフェイスで
// 受け取ります。
Enumeration enumeration = new StringTokenizer( source, delimiter );
// もう取得する要素がないとhasMoreElements()メソッドはfalseを返します。
while( enumeration.hasMoreElements() )
{
// 分割した各要素を取得します。
String current = (String)enumeration.nextElement();
// 出力します。
System.out.println( current );
// http:
// www.kab-studio.biz
// Programing
// JavaA2Z
// index.html
}
// 基本的な使い方はIteratorインターフェイスと同じです。
}
}
// Sample.java import java.util.Enumeration; import java.util.StringTokenizer; public class Sample { public static void main( String[] args ) { // StringTokenizerクラスで文字列を分割します。 // 分割はコンストラクタで速攻行われます。 // 第1引数に対象の文字列を渡します。 // 第2引数に分割文字列を渡します。 String source = "http://www.kab-studio.biz/Programing/JavaA2Z/index.html"; String delimiter = "/"; // StringTokenizerクラスを作成します。 // ただし、スーパーインターフェイスのEnumerationインターフェイスで // 受け取ります。 Enumeration enumeration = new StringTokenizer( source, delimiter ); // もう取得する要素がないとhasMoreElements()メソッドはfalseを返します。 while( enumeration.hasMoreElements() ) { // 分割した各要素を取得します。 String current = (String)enumeration.nextElement(); // 出力します。 System.out.println( current ); // http: // www.kab-studio.biz // Programing // JavaA2Z // index.html } // 基本的な使い方はIteratorインターフェイスと同じです。 } }