Java常用集合基础概念及源码流程分析

Java111
  • ArraysList,基于数组实现,默认容量为10,扩容时会先创建一个原始1.5倍的数组,然后再把元素复制过去。特点:

  • 有序,可存重复元素,可存null

  • 查询快,增删慢,适合查询较多的场景
  • 如果使用无参构造器,则初始elementData容量为0,第一次添加时则扩容为10,如需再次扩容,则扩容1.5倍
  • 如果使用指定大小的构造器,则初始elementData为指定大小,扩容仍为1.5倍。

add方法,扩容机制,源码和流程分析

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

        for (int i = 0; i < 10; i++) {
            list.add(i);
        }
        list.add(11);
        list.add(12);
    }
输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长