今回のテーマは「コレクションの変更不可ラッパー」です。
コレクションの変更不可ラッパーとは、読んで字の如く、コレクションを変更不可にするためのラッパーです。
例えば、都道府県のリストに対して、独自の県を追加されたり削除されたりしたら困りますよね。
コレクションを変更不可にすることで、コレクションに対する予期せぬ操作を防ぐことができるのです。
コレクションを変更不可にするためには、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が発生します。
これで自分の作成したコレクションが、他のところで想定外の使い方をされることがなくなりますね。
■[Javaワンポイント]内の前後の記事
↑ 第 36 回 ~ 拡張for文とIterator ~
→ 第 35 回 ~ コレクションの変更不可ラッパー ~
↓ 第 34 回 ~ 集合 ~
■更新日時での前後の記事
↑ 1月23日 お天気
→ 第 35 回 ~ コレクションの変更不可ラッパー ~
↓ 1月22日 お天気
