8.4.3 固定长度的List
8.4.3 固定长度的List
将数组转成List集合
前面讲数组时介绍了一个操作数组的工具类: Arrays,Arrays工具类里提供了asList方法:
Arrays的asList方法 |
描述 |
|---|---|
static <T> List<T> asList(T... a) |
Returns a fixed-size list backed by the specified array. |
该方法可以把一个数组或指定个数的对象转换成一个List集合,这个List集合既不是ArrayList实现类实例,也不是Vector实现类的实例,而是Arrays的内部类ArrayList的实例。
Arrays.ArrayList内部类
Arrays.ArrayList是一个固定长度的List集合,程序只能遍历访问该集合里的元素,不可增加、删除该集合里的元素。
如下程序所示。
1 | import java.util.*; |
运行效果如下:
1 | class java.util.Arrays$ArrayList |
不要增加或删除Arrays.ArrayList内部类
上面程序中代码1,代码2这两行代码对于普通的List集合完全正常,但如果试图通过这两个方法来增加、删除Arrays.ArrayList集合里的元素,将会引发异常。
所以上面程序在编译时完全正常,但会在运行代码1处引发UnsupportedOperationException异常。