Java ArrayList 容量如何扩容,原理是什么

发布时间:2025-01-21 14:02:29 作者:小樊
来源:亿速云 阅读:89

在 Java 中,ArrayList 是一个动态数组,它可以根据需要自动调整其容量。当 ArrayList 的大小达到其当前容量时,它会扩容以容纳更多的元素。ArrayList 的默认容量是 10,但可以根据需要增加或减少。

扩容原理

ArrayList 的扩容是通过创建一个新的数组并将旧数组中的元素复制到新数组中来实现的。扩容的具体步骤如下:

  1. 检查当前 ArrayList 的大小是否达到了其容量。如果是,则执行扩容操作。
  2. 计算新的容量。通常,新的容量是当前容量的 1.5 倍(即新的容量 = 当前容量 + 当前容量 / 2)。当然,这只是一个示例,实际上可以根据需要选择其他扩容策略。
  3. 创建一个新的数组,其大小为新的容量。
  4. 将旧数组中的元素复制到新数组中。
  5. 更新 ArrayList 的容量为新数组的大小。

代码示例

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();

        // 添加元素,当达到容量时,ArrayList 会自动扩容
        for (int i = 0; i < 20; i++) {
            list.add(i);
        }

        System.out.println("ArrayList 容量: " + list.capacity()); // 输出扩容后的容量
    }
}

在这个示例中,我们创建了一个 ArrayList,并向其中添加了 20 个元素。当 ArrayList 达到其默认容量(10)时,它会自动扩容。最后,我们输出扩容后的容量,可以看到它已经增加到 15(即 10 的 1.5 倍)。

推荐阅读:
  1. Java面试题:Java中的集合及其继承关系
  2. java中ArrayList和普通数组的区别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:什么是 Java Lambda 表达式

下一篇:ArrayList 与 LinkedList 在 Java 中的区别

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》