Japanese / English
HashMap
HashMapはMapインターフェースを実装したクラスで、値の挿入順を保持しません。
getすると、順不同で値が返ります。但し、Mapインターフェースを実装したクラスのうち処理が高速です。

以下サンプルです。

import java.util.Iterator;
import java.util.HashMap;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        Map map = new HashMap();
        map.put("key1","test1");
        map.put("key2","test2");
        map.put("key3","test3");
        
        StringBuffer buf = new StringBuffer();
        
        for (Iterator itr = map.keySet().iterator();itr.hasNext();){
            String key   = (String)itr.next();
            String value = (String)map.get(key);
            System.out.println(key +" = " + value);
        }
    }
}
実行結果は以下のようになります。

key1 = test1
key3 = test3
key2 = test2
キーが重複した場合
同じキーがputされた場合、上書きされます。
putする時に既に同じキーが存在するかどうかはcontainsKey()メソッドで判断できます。
以下サンプルです。

import java.util.HashMap;
import java.util.Map;


public class Test {
    public static void main(String[] args) {
        Map map = new HashMap();
        map.put("test","a");
        map.put("test","b");
        if(map.containsKey("test")){
            System.out.println(map.get("test"));
        }
    }
}
結果は以下のようになります。

b
Java5からの記述方法
Java5からはMapの記述方法が変わっています。
プログラマーのミスを防ぐためにパラメータの型を明確に記述するように変更されています。

例えばkeyがString型で、valueがBigDecimal型の場合、以下のように記述します。

Map<String,BigDecimal> = new HashMap<String,BigDecimal>();
このようにインスタンス生成時に型指定する機能をジェネリックスというようです。

Back to top

Information
SEO対策 大阪  税理士 相談  税理士 守口市  税理士 大阪市  税理士 枚方市  自動車ガラス 神戸  シール印刷 神戸  ブリリアントアパートメント  株式会社CONFRAGE  英会話 個人レッスン 京都市右京区  京都市右京区西京区でマンツーマン英会話 
このページはCONFRAGEの著作物です。このページを複製・転載することを禁じます。CopyRight(C)2003-2016 CONFRAGE All rights reserved.