回答:
これは、「宣言と同じ」の省略形にすぎません。
一部のIDE、たとえばIntelliJもこれを使用します。
ディスク上のファイルには、この表記はありません。これは、IDE GUIの単なる圧縮です。
チルダがなかった場合、コードはすでにJava 7だったと思います。Java7 はdiamond演算子を許可しているため、これは正当なJavaコードです/
Map<String, List<String>> map = new HashMap<>();
(ただし、この構文ではチルダはありません)
IntelliJ IDEAでは、~
ここ:
Set<String> associations = new LinkedHashSet<~>();
はString
、左側の宣言と同じです。
これは、タイプが何であれ、この場合はOrderItemであることを意味する省略表現だと思います。