immutable コレクション
Google の guava-libraries の 不変(immutable)なコレクション。
普通に HashMap 等を使うほうが簡単だがオブジェクトの状態が変わらないので、
状態に依存しないコレクション操作ができて、状態の変化によるバグを防止できる。
複数のオブジェクトで同じコレクションを使って操作を行う場合に有効
import com.google.common.collect.ImmutableMap; .. private final Map<Integer,String> map = ImmutableMap.of(1, "txt", 2, "bin");
既存のImmutableMap のインスタンスにデータを追加する場合は builder を使って
新たな ImmutableMap を生成する。
.. final Builder<Integer,String> b = map.builder(); final Map<Integer,String> other_map = b.put(3, "csv").put(4, "java").build(); ..
他に ImmutableList, ImmutableSet もある。