package test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
String[] array = "Hello World".split(" ");
list = Arrays.asList(array);
list.set(0, "HI");// 修改元素
try {
list.add("!");
} catch (UnsupportedOperationException e) {
System.out.println("不能添加元素");
}
try {
list.remove(0);
} catch (UnsupportedOperationException e) {
System.out.println("不能删除元素");
}
List<String> list2 = new ArrayList<String>();
list2.add("!");
list2 = Collections.unmodifiableList(list2);//把list2变为只读集合
try {
list2.add("message");
} catch (UnsupportedOperationException e) {
System.out.println("不能添加元素");
}
try {
list2.set(0, "*");
} catch (UnsupportedOperationException e) {
System.out.println("不支持元素修改操作");
}
}
}
//最常见的未获支持操作,都源于背后由固定尺寸的数据结构支持的容器,当你用Arrays.asList()将数组转化成List时,就会得到这样的容器
//这种list 只支持那些不改变数组大小的操作!