v0l*_*0rt 6 java collections arraylist
以下声明之间有什么区别:
List list1 = new ArrayList();
List list2 = new ArrayList(10);
Run Code Online (Sandbox Code Playgroud)
默认情况下将其分配为10.但是有什么区别吗?我可以添加一个11要素来list2通过list2.add("something")?
以下是第一个示例的源代码
public ArrayList() {
this(10);
}
Run Code Online (Sandbox Code Playgroud)
所以没有区别.由于初始容量是10,无论你是否通过10,它都会被初始化,容量为10.
我可以通过list2.add("something")在list2中添加第11个元素吗?
当然,初始容量不是最终容量.因此,当您继续添加超过10个时,列表的大小会不断增加.
如果你想要一个固定大小的容器使用Arrays.asList或asList
值得一读的关于Java 8中的这一变化:在Java 8中,为什么ArrayList的默认容量现在为零?
简而言之,提供初始容量不会真正改变任何大小的内容.
| 归档时间: |
|
| 查看次数: |
696 次 |
| 最近记录: |