Javaexamples-collection-readonly

提供:Dev Guides
移動先:案内検索

Javaの例-読み取り専用コレクション

問題の説明

コレクションを読み取り専用にする方法

溶液

次の例は、CollectionクラスのCollections.unmodifiableList()メソッドを使用して、コレクションを読み取り専用にする方法を示しています。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Main {
   public static void main(String[] argv) throws Exception {
      List stuff = Arrays.asList(new String[] { "a", "b" });
      List list = new ArrayList(stuff);
      list = Collections.unmodifiableList(list);
      try {
         list.set(0, "new value");
      } catch (UnsupportedOperationException e) {
      }
      Set set = new HashSet(stuff);
      set = Collections.unmodifiableSet(set);
      Map map = new HashMap();
      map = Collections.unmodifiableMap(map);
      System.out.println("Collection is read-only now.");
   }
}

結果

上記のコードサンプルは、次の結果を生成します。

Collection is read-only now.