4. Map
ユーティリティ 4章 Map
4.1. java.util.Map, java.util.HashMap「java.util.Map」はキーに対して値を保存するコレクションです。キーに対して保持できる値は1つです。その代表的なクラスである「java.util.HashMap」は「Map」インタフェースを実装したクラスで、「Hashtable」の代わりとして導入されたクラスです。値を設定するメソッド「put」、値を取得するメソッド「get」など、使用法は「Hashtable」と同じです。「Hashtable」も現在は「Map」インタフェースを実装しています。
Map map=new HashMap();
map.put("japan","日本");
map.put("china","中国");
String name=(String)map.get("china");
「Hashtable」ではキー/値一覧を「Enumeration」インタフェースで取り出すことができました。「HashMap」では、キーまたは値の一覧を「Iterator」インタフェースで取り出すことができます。ただし直接取り出すことはできないので、以下のようにします。 Iterator keyIterator=map.keySet().iterator(); Iterator valueIterator=map.values().iterator(); 「keySet」メソッドが返す値は「Set」インタフェースで、これを介して「Iterator」インタフェースを取得します。 「values」メソッドが返す値は「Collection」インタフェースで、これは全てのコレクションクラスが実装している大元のインタフェースです。「Map」「Set」「List」は、全て「Collection」インタフェースを継承したインタフェースです。 他にキーと値の組の一覧を返す「entrySet」メソッドを、「Map」インタフェースは持っています。「entrySet」メソッドの返り値は「Set」インタフェースですが、値は「Map.Entry」インスタンスの形で保持されています。「Map.Entry」が提供する主なメソッドは以下の通りで、これらを用いてキーと値にアクセスする事ができます。
(実習課題1)以下のコンソールプログラムを実装しなさい。
|
![]()
![]()
|