1.1.1 构造器
方法名称 方法使用说明
ArrayList() 构造一个初始容量为10的空列表
ArrayList(Collection<? extends E> c) 构造一个包含指定集合的元素的列表,它们在集合的迭代器返回的顺序中返回。
ArrayList(int initialCapacity) 用指定的初始容量构造一个空列表。
问题一:为什么通过ArrayList() 创建的列表初始容量为10?
源码解析
/**
* Constructs an empty list with an initial capacity of ten.
*/
public ArrayList() {
this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}
1
2
3
4
5
6
通过构造器的源码注释可以说名:构造一个初始容量为10的空列表
1
问题二:通过第二个构造器创建集合时会有什么坑点?
当传入的是由一个数组转变过来的集合时会出现UnsupportedOperationException(当不支持请求的操作时,抛出该异常),需要通过new Array()构造器再次操作,传入操作后的集合就可以解决该异常问题。
1
案例演示
//1.构造一个初始容量为十的空列表。
//private static final int DEFAULT_CAPACITY = 10;//源码容量私有化
List list_1=new ArrayList();
System.out.println(“无参构造器构建list:”+list_1);
//2.构造一个包含指定集合的元素的列表
List list_2=new ArrayList<>();
System.out.println(“包含指定集合的元素的列表list的size:”+list_2.size());
//3.构造具有指定初始容量的空列表
List list_3=new ArrayList<>(3);
System.out.println(“指定初始容量的空列表list:”+list_3);