HashtableおよびHashMapの利用 (Java)
[履歴] [最終更新] (2013/08/21 08:09:02)

概要

クラスライブラリHashtableを用いると、いわゆる連想配列が利用できます。しかしながら、現在ではパフォーマンス等の観点から、代替機能としてHashMapを使用することが推奨されています。

Hashtable

sample.java

import java.util.Hashtable;
import java.util.Enumeration; //Hashtableを走査する場合はこれが便利

class Sample {
    public static void main(String args[]) {
        Hashtable<String, Integer> hash = new Hashtable<String, Integer>();
        hash.put("key1", 1);
        hash.put("key2", 2);
        hash.put("key3", 3);

        System.out.println(hash.get("key1"));

        Enumeration<String> e = hash.keys();
        while(e.hasMoreElements()) {
            String key = e.nextElement();
            int val = hash.get(key);
            System.out.println("key: " + key + ", val: " + val);
        }
    }
}

実行例

$ javac sample.java && java Sample
1
key: key3, val: 3
key: key2, val: 2
key: key1, val: 1

HashMap

sample.java

import java.util.HashMap;

class Sample {
    public static void main(String args[]) {
        HashMap<String, Integer> hash = new HashMap<String, Integer>();
        hash.put("key1", 1);
        hash.put("key2", 2);
        hash.put("key3", 3);

        System.out.println(hash.get("key1"));

        for(String key : hash.keySet()) {
            int val = hash.get(key);
            System.out.println("key: " + key + ", val: " + val);
        }
    }
}

実行例

$ javac sample.java && java Sample
1
key: key3, val: 3
key: key2, val: 2
key: key1, val: 1
関連ページ