第36回 コレクションの変更不可ラッパー
今回のテーマは「コレクションの変更不可ラッパー」です。
コレクションの変更不可ラッパーとは、読んで字の如く、コレクションを変更不可にするためのラッパーです。 例えば、都道府県のリストに対して、独自の県を追加されたり削除されたりしたら困りますよね。 コレクションを変更不可にすることで、コレクションに対する予期せぬ操作を防ぐことができるのです。
コレクションを変更不可にするためには、java.util.CollectionsクラスのunmodifiableCollectionメソッドなどを使います。
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<String> sampleSet = new HashSet<String>();
sampleSet.add("a");
sampleSet.add("b");
sampleSet.add("c");
Set<String> unmodifiableSet = Collections.unmodifiableSet(sampleSet);
unmodifiableSet.add("d");
}
}
要素を追加しようとすると、java.lang.UnsupportedOperationExceptionが発生します。
これで自分の作成したコレクションが、他のところで想定外の使い方をされることがなくなりますね。

