InitializeMapSample.java
import java.util.Map;
import java.util.HashMap;
class InitializeMapSample {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>() {
{put("foo", "fooVal");}
{put("bar", "barVal");}
};
System.out.println(map.get("foo"));
System.out.println(map.get("bar"));
}
}
このコードよくわからなかったのだけど、
http://www.coderanch.com/t/386333/java/java/HashMap-Construction-initial-values
で解説されていた。
匿名クラスと初期化ブロックを使っている。
つまり、HashMap を継承したクラスを作って、初期化ブロックを定義している。
もちろん初期化ブロックをひとつにまとめてもよい。
new HashMap<String, String>() {
{
put("foo", "fooVal");
put("bar", "barVal");
}
};