java容器:17、怎么确保一个集合不能被修改?

怎么确保一个集合不能被修改?

目前查到有两种方法:
(1)通过 Collections. unmodifiableCollection(Collection c)
(2)通过Arrays.asList创建的集合

代码如下:(原因分析以后再分析)
(1)通过 Collections. unmodifiableCollection(Collection c)

List<String> list = new ArrayList<String>();
		list.add("张三");
		list.add("李四");
		list.add("王五");
		list.add("赵六");
		System.out.println(list);
		
		Collection<String> unModifyList=Collections.unmodifiableCollection(list);
		unModifyList.add("1");
		System.out.println(unModifyList);

增加元素,产生报错。
java容器:17、怎么确保一个集合不能被修改?_第1张图片
(2)通过Arrays.asList创建的集合

		List<Integer> list=Arrays.asList(6,2,8,9,6);
		System.out.println(list);
		list.add(9);

增加元素,产生报错。
java容器:17、怎么确保一个集合不能被修改?_第2张图片

你可能感兴趣的:(面试:容器,java,数据结构)