株式会社イーブ|未経験・転職の方も就職可能。Javaプログラマー育成のエキスパート

HOMEJAVA技術者育成システム開発求人情報個人情報保護

第 35 回 ~ コレクションの変更不可ラッパー ~

トップページ > Java技術者育成 > Javaワンポイント > 第 35 回 ~ コレクションの変更不可ラッパー ~

今回のテーマは「コレクションの変更不可ラッパー」です。


コレクションの変更不可ラッパーとは、読んで字の如く、コレクションを変更不可にするためのラッパーです。
例えば、都道府県のリストに対して、独自の県を追加されたり削除されたりしたら困りますよね。
コレクションを変更不可にすることで、コレクションに対する予期せぬ操作を防ぐことができるのです。


コレクションを変更不可にするためには、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日 お天気