ユーティリティ 1章 コレクション
1.4. java.util.Enumeration
「Vector」「Stack」はオブジェクトを順番に覚える、「Hashtable」はキーと関連づけて覚えるコレクションクラスです。Javaではこれらの違いに関係なく、値を統一的に取り出す方法を提供しています。それが「Enumeration」インタフェースです。「Enumeration」インタフェースを利用したデータの取り出しは以下のようにします。
Vector vector; ... Enumeration e = vector.elements(); while(e.hasMoreElements()) { System.out.println(e.nextElement()); }
「elements」メソッドはベクトル内のオブジェクトのリストを、「Enumeration」のインスタンスの形で返すメソッドです。「nextElement」メソッドで次の要素を取り出し、「hasMoreElements」で取り出す要素が残っているかどうか調べます。
「Hashtable」の場合は以下のようにします。「keys」メソッドで、キーの一覧を「Enumeration」の形で取得しています。値の一覧の場合は「values()」メソッドを使用します。
HashTable hashTable; ... Enumeration e = hashTable.keys(); while(e.hasMoreElements()) { ... }
(実習課題5)
実習課題1のプログラムを改良しなさい。
- 「表示」ボタンを押した際の表示を、「Enumeration」インタフェースを利用して行なうようにする事。