ダイヤモンド演算子とは、Java7から新たに追加された言語仕様です。これまでは、ジェネリックなクラス、例えばArrayListクラスなどは
要素として持つクラスの型を、変数を宣言する際に、左辺と右辺に両方に書く必要があり、冗長的なコーディングになっていました。
ダイヤモンド演算子(オペレータ)は、このような場合に冗長的なコードを省略できる文法です。
これまでは、例えばArrayListのオブジェクトを作成する場合は、以下のうなコードを書いていました。
ArrayList<String> list = new ArrayList<String>();
Stringを型に持つぐらいは良いとして、ジェネリックの型が複雑になると左辺・右辺とも同じ総称型をコーディングしなければなりません。
ArrayList<Map<String, List<String>>> list
= new ArrayList<Map<String, List<String>>>();