Java 实例 - 只读集合

以下实例演示了如何使用 Collection 类的 Collections.unmodifiableList() 方法来设置集合为只读:

Main.java 文件

  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.Collections;
  4. import java.util.HashMap;
  5. import java.util.HashSet;
  6. import java.util.List;
  7. import java.util.Map;
  8. import java.util.Set;
  9. public class Main {
  10. public static void main(String[] argv)
  11. throws Exception {
  12. List stuff = Arrays.asList(new String[] { "a", "b" });
  13. List list = new ArrayList(stuff);
  14. list = Collections.unmodifiableList(list);
  15. try {
  16. list.set(0, "new value");
  17. }
  18. catch (UnsupportedOperationException e) {
  19. }
  20. Set set = new HashSet(stuff);
  21. set = Collections.unmodifiableSet(set);
  22. Map map = new HashMap();
  23. map = Collections.unmodifiableMap(map);
  24. System.out.println("集合现在是只读");
  25. }
  26. }

以上代码运行输出结果为:

  1. 集合现在是只读