Java 数组到数组列表的转换
以下方法可用于将数组转换为ArrayList :
方法1:使用Arrays.asList()方法
注意,有一个数组参数和List的返回值。
- 返回一个由指定数组支持的固定大小的列表。
- 返回的列表是可序列化的,并且实现了RandomAccess。
- 由于返回的列表是固定大小的,因此我们不能在其中添加更多的元素,但是我们可以使用ArrayList类中定义的set(index, new Element)方法用新元素替换现有的元素。
输出:
如果我们向转换后的列表添加更多的元素呢?
由于返回的列表是固定大小的列表,我们不能添加更多的元素。尝试添加更多的元素会导致 UnsupportedOperationException。
考虑下面的例子。
输出:
运行时错误
因此,建议创建新的ArrayList,并将 Arrays.asList(array reference) 作为参数传递给它(即作为ArrayList的构造参数)。
考虑以下例子:
&nbap;
方法二:使用Collections.addAll()方法
注意,有一个集合参数 c ,其中有要插入的元素,数组参数 a 包含要插入 c 的元素 。
返回类型是布尔类型。
如果调用的结果使集合发生了变化,则返回true。如果集合 c 不支持add方法,则抛出UnsupportedOperationException;如果元素(或数组中的元素)的某些方面阻止它被添加到集合 c 中,则抛出IllegalArgumentException 。
考虑以下例子:
输出:
将null添加到列表 中
注:如果指定的集合或指定的数组为null,则抛出NullpointerException。
在列表的末尾添加null
运行时间错误
方法3:使用手工方法,用add()方法转换数组
如果我们不想使用java的内置方法,我们可以使用这个方法。这是一种将所有数组元素添加到List的手动方法。
输出: