Mapの初期化

JRubyソースコードを読んでたらみつけた無名クラスを使った初期化方法。

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("one", 1);

が次のように書かれてた。

Map<String, Integer> map = new HashMap<String, Integer>()
{{ put("one", 1); }};

名前をつけずに初期化できるんで、スクリプト言語みたいにそのまま引数にわたしたりできる。
括弧が2つあって何かと思ったが、初期化子だったのか。
変な書き方だけど有名なのかな。1ペアならCollections.singletonMap()でいいんだけど。

Map<String, Integer> map = new HashMap<String, Integer>() {
    {
        put("one", 1);
    }
};