Java ArrayList() 方法及代码示例
java.util.ArrayList
的构造函数, 具体参照示例.
定义
public ArrayList()
或
public ArrayList(int initialCapacity)
或
public ArrayList(Collection<? extends E> c)
通过各种方式构造 ArrayList
对象
参数
参数类型 | 参数名称 | 参数描述 |
---|---|---|
int | initialCapacity | 构造的 ArrayList 的初始容量 |
Collection<? extends E> | c | 用于初始化ArrayList的元素的集合(Collection) |
类型参数 | E | ArrayList 的元素类型 |
返回值
构造方法, 无返回值
抛出的异常
IllegalArgumentException
如果给定的初始容量为副
NullPointerException
如果给定的集合为 null
说明
ArrayList
与普通数组主要的区别在于 ArrayList
的长度的可变性. 那么提供初始化元素个数参数是否就无意义了呢? 答案是否定的, 如果是稳定
ArrayList
实现了以下接口:
Serializable
, Cloneable
, Iterable<E>
, Collection<E>
, List<E>
, RandomAccess
.
注意事项
当使用集合初始化一个 ArrayList 的时候, 需要注意集合中的元素的顺序, 比如 Set
中元素的顺序可能就不是固定的(参见示例).
示例
使用三种构造方法初始化 ArrayList 实例的示例
package com.yi21.arraylist; import java.util.ArrayList; import java.util.Set; public class Yi21ArraysList { public static void main(String[] args) { System.out.println("无参数初始化 ArrayList:"); ArrayList<String> list = new ArrayList<>(); list.add("Hello"); list.add("World"); list.add("21yi"); list.forEach(System.out::println); list = new ArrayList<>(1); list.add("Hello"); list.add("World"); list.add("21yi"); System.out.println("指定初始化长度初始化 ArrayList, list 的长度: " + list.size()); list.forEach(System.out::println); System.out.println("使用集合初始化 ArrayList, 需要注意集合元素的顺序:"); Set<String> set = Set.of("21yi", "World", "Hello"); list = new ArrayList<>(set); list.forEach(System.out::println); try { String[] array = new String[2]; array[0] = "Hello"; array[1] = "World"; array[3] = "21yi"; } catch(ArrayIndexOutOfBoundsException e) { System.out.println("这是数组与 ArrayList 的主要区别: 数组的元素长度是固定的."); } } }
执行结果为 :
无参数初始化 ArrayList: Hello World 21yi 指定初始化长度初始化 ArrayList, list 的长度: 3 Hello World 21yi 使用集合初始化 ArrayList : World Hello 21yi 这是数组与 ArrayList 的主要区别: 数组的元素长度是固定的.