在实例化时定义Arraylist的大小是否有任何优势

Sur*_*raj 2 java arrays collections arraylist

在实例化时定义Arraylist的大小是否有任何优势?

如果错误或与其他问题重复,请纠正我.我搜索但我找不到我要找的东西.

定义Arraylist的初始容量是否有优势?我猜它默认为10.

在调整Arraylist的大小时,如果我们在实例化时声明它会有所帮助.另外,如何潜在地克服内部调整Arraylist大小的开销.

And*_*mas 7

如果您知道所需的容量,预先提供它可以提高性能。否则,当您添加元素时,列表实现可能需要将内部数组复制到更大尺寸的数组 - 可能会重复复制。


Kyl*_*leM 5

ArrayLists在内部使用数组,因此当ArrayList需要额外的容量时,它必须在内部创建一个新数组并将元素复制到新数组.

您可以通过预先估计或查找ArrayList的确切大小来克服调整ArrayList大小的开销.或者,您可以通过处理业务逻辑确保ArrayList永远不会超出指定的大小,然后在ArrayList达到其最大所需大小时删除元素.最后,您可以使用不在内部使用数组的不同数据结构来完全避免增长问题.