ArrayList的ensureCapacity(100)和new ArrayList<>(100)有什么区别

A:

 ArrayList<Employee> a = new ArrayList<>(100);

B:

a.ensureCapacity(100)

这两个都指定了100,那两者有什么关系,或者有什么区别吗?
我理解是,A意思是初始化的,即一开始先初始化a可以存储100个元素。B意思是指定a最终可能存储的元素数量吗?刚入门对这块不是很懂

阅读 1.5k
1 个回答

都是扩容。只不过一个是在构造时就扩容了,一个是在后面调用时再扩容。

如果你对“扩容”这个概念陌生,请自行学习有关知识:

https://cn.bing.com/search?q=...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题