在 Java 8 中,为什么 ArrayList 的默认容量现在为零?
我记得,在Java 8之前,默认容量为10。ArrayList
令人惊讶的是,对默认(void)构造函数的评论仍然说:Constructs an empty list with an initial capacity of ten.
从:ArrayList.java
/**
* Shared empty array instance used for default sized empty instances. We
* distinguish this from EMPTY_ELEMENTDATA to know how much to inflate when
* first element is added.
*/
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};
...
/**
* Constructs an empty list with an initial capacity of ten.
*/
public ArrayList() {
this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}