「Mapの使い方」の編集履歴(バックアップ)一覧に戻る

Mapの使い方 - (2009/12/18 (金) 00:16:48) のソース

**Mapとはキーと値のペアを格納する箱のようなもの。

・値を格納する
  Map map = new HashMap(); 
  Map.put("key","value");
 <注意>
  ・Key値は重複してはいけない!Valueが取得できなくなってしまうので。

・値を取得する
  Map.get("key");

・key/valueの一覧を取得する
  Keyの一覧: map.keySet();
  Valueの一覧:map.values();
 <注意>
  keySetの戻り値がインタフェースjava.util.Set型であり、
  valuesの戻り値がインタフェースjava.util.Collection型である点。 
  Setコレクションには、『重複のない一意なオブジェクトの集合』を格納するため。

・Keyに値が設定されているかを判定する
  map.containsKey("key");
  <注意>
   if(map.get("key")で判定を行おうとすると、keyに対してnullを設定していた場合と意図せずnullが設定されているかどうかの違いがわからない。


・KeyとValueの一覧を効率よく取得する。
 map.entrySet();
  <注意>
  entrySetの戻り値は、メソッドkeySetと同じくSet型です。
  ただし、メソッドkeySetの戻り値が「キーの集合」であるのに対し、メソッドentrySetの戻り値は「エントリの集合」になります。ここで言うエントリは、「キーと値のペア」のことを意味します。
  つまり、メソッドentrySetで取得したエントリの集合には、キーとそれに対応する値が格納されているのです。 


★Mapの種類
・Hashtable
  Keyの登録順序を保持しないため、出力すると追加した順番と異なって出力される。
  Keyに対してNullが挿入できない。

・HapshMap
  登録した順序を保持してくれる。Nullの挿入っも可能になる。
  すでに存在するKeyと重複するKeyを追加した場合、上書きされる。

・TreeMap
  登録されたKeyがソートされて格納される。
  メソッドfirstKeyやlastKeyを利用することにより、ソートされたキーの中から1つ目のキーや最後のキーに対応する値を取得できます。
**中見出し