固定长度的List

Arrays工具类里提供了asList(Object... a)方法,该方法可以把一个数组、或指定个数的对象转换成一个List集合,这个List集合既不是ArrayList实现类的实例,也不是Vector实现类的实例,而是Arrays的内部类ArrayList的实例。

Arrays.ArrayList是一个固定长度的List集合,程序只能遍历访问该集合里的元素,不可增加、删除该集合里的元素 。

1 代码示例

import java.util.*;

public class FixedSizeList
{
	public static void main(String[] args)
	{
		List fixedList = Arrays.asList("PPT完全自学手册", "Windows API");
		// 获取fixedList的实现类,将输出Arrays$ArrayList
		System.out.println(fixedList.getClass());
		// 使用方法引用遍历集合元素
		fixedList.forEach(System.out::println);
		// 试图增加、删除元素都会引发UnsupportedOperationException异常
		fixedList.add("黑客攻防");
		fixedList.remove("Windows API");
	}
}

 2 运行结果
class java.util.Arrays$ArrayList
PPT完全自学手册
Windows API
Exception in thread "main" java.lang.UnsupportedOperationException
        at java.util.AbstractList.add(Unknown Source)
        at java.util.AbstractList.add(Unknown Source)
        at FixedSizeList.main(FixedSizeList.java:14)
3 代码分析
代码最后两行对于普通的List集合完全正常,但如果试图通过这两个方法来增加,删除Arrays.ArrayList集合中的元素,将会引发异常。但会在运行倒数第2行时引发UnsupportedOperationException异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值