Javaと情熱のあいだ

カステラとドーナツと珈琲

デフォルトを取得できるMap

通常のMapは、登録されていないKeyはオブジェクトを取得できなくてnullが帰ってくるのですが
登録していないKeyでもデフォルトのオブジェクトが取得できるMapのサンプルです。


材料はこちら
org.apache.commons.collections

public class DefaultedMapExample {

    /**
     *
     * 実行
     * @throws Exception 例外
     */
    public void execute() throws Exception {

        Map<String, String> map = new HashMap<String, String>();

        Map<String, String> dm = new DefaultedMap("DEFAULT");

        map.put("TEST_01", "test_01");

        dm.put("TEST_01", "test_01");

        dm.put("TEST_02", "test_02");

        dm.put("TEST_03", "test_03");

        System.out.println(dm.get("TEST_01"));

        System.out.println(map.get("TEST_04"));

        System.out.println(dm.get("TEST_04"));

        System.out.println(dm.keySet());

    }
}

実行結果はこちら

test_01
null
DEFAULT
[TEST_01, TEST_02, TEST_03]