CSNotesCSNotes
TODO
LeetCode
数据结构
计算机组成原理
操作系统
计算机网络
数据库
Java
SSM
React
实用工具
GitHub
TODO
LeetCode
数据结构
计算机组成原理
操作系统
计算机网络
数据库
Java
SSM
React
实用工具
GitHub
  • 第一章 Java基础类型

    • 1.1 类的访问权限
    • 1.2 Java 浮点类型
    • 1.4 ArrayList 源码解析
    • 1.5 Java 数据类型
    • 1.6 Java 异常
    • 1.7 包装类
    • 1.8 String
    • 1.9 StringBuffer
    • 1.10 集合
    • 1.11 单例模式 - 饿汉式
    • 1.11 HashSet
    • 1.12 final 关键字
    • 1.13 static 关键字
    • 1.14 String 类
    • 1.15 时间类
    • 1.16 访问修饰符
    • 1.17 枚举
    • 1.18 抽象类
  • 第四章

    • 4.1 静态方法
  • 第六章

    • 6.1 接口
    • 6.2 抽象类
    • 6.3 OOP

1.4 ArrayList 源码解析

ArrayList 实现了 List 接口,继承了抽象类 AbstractList。size 表示含有的元素。capacity 表示上限。

private void rangeCheck(int index) {
    if (index >= size)
        throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
}
public E get(int index) {
        rangeCheck(index);

        return elementData(index);
    }
public E set(int index, E element) {
        rangeCheck(index);

        E oldValue = elementData(index);
        elementData[index] = element;
        return oldValue;
    }

使用 get 和 set 方法会比用下标返回多一个范围检查。

创建 ArrayList 对象时,如果使用无参构造器,则初始 elementData 容量为 0,第一次添加,则扩容 elementData 为 10。如需要再次扩容,则扩容 elementData 为 1.5 倍。

集合只能存储引用类型。

编辑此页
上次更新: 2024/7/4 22:37
Prev
1.2 Java 浮点类型
Next
1.5 Java 数据类型