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)
没有评论:
发表评论