ラベル付きbreak/singletonList/EnumMap

意外に知らない? - ttmmrr(@o_tmr)の日記
で書いてない部分を独断で補足してみます。誤りなど指摘あるとうれしいです。

その1「ラベル付きbreak」

  • ループ以外でもbreakできる
  • 二重(あるいはそれ以上の)ループで、内側のループから一気にbreakすることが可能
    ラベル付きbreakを使わない場合、それ用のフラグ的変数を使うか、メソッドの抽出*1が必要

その2「Collections.singletonList」

  • 要素がひとつで変更不可能なリストを一行だけで書けるので、定数*2にも適している
    • 他にCollections.unmodifiableList(List)がある
      Arrays.asList(T... a)と組み合わせて使うとよい

その3「java.util.EnumMap」

  • HashMapなどでも、キーにenumを指定することが可能だが、キーがenumならEnumMapの方が高い効率が期待できる

*1:breakの代わりにreturnする、など

*2:static finalなメンバー変数