/*
 * 作成日: 2004/05/31 0:39:06
 * 
 * UseHashMap.java
 * 
 * @author shot
 * 
 * TODO
 *
 */
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
/**
 * @author Administrator
 * 
 * UseHashMap.java (2004/05/31 0:39:06)
 * 
 * 非常に良く使うCollectionのひとつHashMapです。
 * HashMapの特徴として、
 * -キーと値の組み合わせのマップというコレクション形式
 * -キーによる順番を保持しない
 *
 * TODO
 */
public class UseHashMap {

	public static void main(String[] args) {
		
		/*
		 * 基本的な使い方1
		 * Mapを作成し、値を格納し、取り出す。
		 */
		Map map1 = new HashMap();
		
		map1.put("key", "value");
		
		//返ってくれる値はObject型なので、ダウンキャストが必要です。
		String result1 = (String)map1.get("key");
		
		System.out.println(result1);
				
		/*
		 * 基本的な使い方2
		 * Map内をキー検索や値検索をします。
		 */
		Map map2 = new HashMap();
		map2.put("a","aaa");
		map2.put("b","bbb");
		map2.put("c","ccc");
		
		//キー検索
		System.out.println("map2.containsKey(\"a\")=["+map2.containsKey("a")+"]");
		
		//値検索
		System.out.println("map2.containsKey(\"aaa\")=["+map2.containsValue("aaa")+"]");
		
		//値の表示1
		Set set = map2.entrySet();
		for(Iterator itr = set.iterator();itr.hasNext();){
			System.out.println(itr.next());
		}
		
		//値の表示2
		for(Iterator itr=map2.entrySet().iterator();itr.hasNext();){
			Map.Entry entry = (Map.Entry)itr.next();
			System.out.println(entry.getKey() + " : " + entry.getValue());
		}
		
				
	}
}