可能重复:
如何在Java中获取ArrayList的容量?
如何找到一个容量ArrayList?
ArrayList的默认容量为10个对象.当大小超过10个对象时,ArrayList将在内部增加其容量.当我们从ArrayList中删除对象时,容量是否会降低.
如果ArrayList容量没有减少,这是否会导致性能问题?
如果您有一个扩展了的数组列表(数组已增长)以包含许多元素,然后又删除了这些元素,那么实际的数组大小是否会更改以节省内存?
更详细地,当从大数组列表中删除一个元素时,是否恢复了数组中数组空部分的保留内存?从逻辑上讲,由于我们扩展了数组,因此我们可能需要使用此空间,因此不会被触及。
但是,如果我们有一个非常大的数组列表,并且仅使用前10个左右的元素,那么编译器(或在运行时)是否会意识到所有多余的空间都在浪费并且可以恢复?(会减小实际的数组大小吗?(将元素复制到较小的数组中吗?))