Map


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

MAPクラス


基本

キーと値のペアを格納する“入れ物”

import java.util.HashMap;

import java.util.Map;

public class MapBasic {   
 
  public static void main(String[] args) {   

     Map map = new HashMap();    (1)ハッシュマップの定義
 
     map.put("key1", "value1");        (2)マップの中身の登録
     map.put("key2", "value2");         

     String s = (String)map.get("key1");    (3) キーに対応する値の呼び出し
 
     System.out.println(s);   
  }   
} 

getで習得すると型は基本object型なので、キャストしましょう
基本はputとgetが使えればいいみたい。

便利な機能


setとvalue

Set keys = map.keySet();
System.out.println(keys);
キーが全部いっぺんに取れる
Collection values = map.values();
System.out.println(values);
値が全部いっぺんに取れる

存在判定を正しく行う

containsKeyを使う
これ以外の方法でもやれないことがないが、格納されている値がNullの時にバグる。
map.containsKey("key1");
booleanで返ってくるよん

効率のよいアクセス?

entrySet()
Set型で返ってくる。ただしキーの集合ではなくエントリー(キーと値のペア)の集合が返ってくる

Set entries = map.entrySet();    (1) 

     for (Iterator iterator = entries.iterator();    

        iterator.hasNext();) {   

        Map.Entry entry = (Map.Entry)iterator.next();    (2) 

        System.out.println(entry.getKey() + "は" + entry.getValue());    (3) 

     }