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
异常。