import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
* Java Map/HashMapの使い方についてシンプルなサンプル
*
* 1)Mapインスタンスの生成
* 2)Mapに要素の追加
* 3)Mapから要素の取得
* 4)Mapから要素の削除
*/
public class TestHashMap {
public static void main(String []args) {
////////////////////////////////////
//1)HashMapからMapのインスタンスを生成
Map map = new HashMap();
////////////////////////////////////
//2)Mapに要素の追加
map.put("name", "Java太郎"); //key/value。String型
map.put("name", "Java太郎01"); //重複putの場合、どうなる?
map.put("age", new Integer(10)); //Integer型
//map.putAll(Map); //ほかのMapオブジェクトに含まれたものを一括追加
//※その他型の値の追加もできますよ
////////////////////////////////////
//3)Mapから要素の取得
//取得方法1:指定するキーによる取得
String strValue = (String)map.get("name"); //nameはStringの型であるため
Integer intValue = (Integer)map.get("age"); //ageはIntegerの型であるため
System.out.println("name:" + strValue);
System.out.println("age:" + intValue);
//取得方法2:キーセットから取得
System.out.println("************** Map.keySet() **************");
Set keySet = map.keySet(); //すべてのキー値を取得
Iterator keyIte = keySet.iterator();
while(keyIte.hasNext()) { //ループ。反復子iteratorによる キー 取得
Object key = keyIte.next();
Object value = map.get(key); //キーよりvalueを取得
System.out.println(key + "=" + value);
}
System.out.println("************** Map.entrySet() **************");
//取得方法3:entrySet(key=valueの形)から取得
Set entrySet = map.entrySet(); //すべてのvalue
Iterator entryIte = entrySet.iterator();
while(entryIte.hasNext()) { //ループ
Map.Entry obj = (Map.Entry)entryIte.next(); //key=value
System.out.println(obj.getKey() + "=" + obj.getValue());
}
System.out.println("************** Map.values() **************");
Collection values = map.values();
//取得方法3:Mapからコレクションに変更
for (Object obj:values) { //JDK1.5+
System.out.println(obj);
}
System.out.println("************** 削除 **************");
//4)Mapから要素の削除
map.remove("name"); //キーは"name"の要素を削除
System.out.println("size="+map.size());
map.clear(); //すべての要素を削除
System.out.println("size="+map.size());
System.out.println("************** その他 **************");
//5)その他
map.put(null, null); //HashMapの場合,nullもセット可能。
System.out.println("size="+map.size());
//Generics機能,JDK1.5から
Map<String, Integer>mapNew = new HashMap<String, Integer>();
//パラメータ1:String型 にしかセットできません
//パラメータ2:Integer型 にしかセットできません
mapNew.put("age", new Integer(0));
//mapNew.put("name", "10");//"10"はInteger型ではないので、これはできませんよ
}
}
2000年3月23日星期四
Map/HashMap サンプル
订阅:
博文评论 (Atom)
没有评论:
发表评论