Arraylist 原理java代码实现
时间: 2023-05-12 10:06:23 浏览: 143
ArrayList 是 Java 中的一个动态数组,它可以根据需要自动扩展容量。它的实现原理是基于数组实现的,当数组容量不足时,会创建一个新的更大的数组,并将原数组中的元素复制到新数组中。
以下是一个简单的 ArrayList 实现的 Java 代码:
public class ArrayList<E> {
private Object[] elementData;
private int size;
public ArrayList() {
elementData = new Object[10];
size = 0;
}
public void add(E e) {
if (size == elementData.length) {
Object[] newElementData = new Object[elementData.length * 2];
System.arraycopy(elementData, 0, newElementData, 0, elementData.length);
elementData = newElementData;
}
elementData[size++] = e;
}
public E get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
return (E) elementData[index];
}
public int size() {
return size;
}
}
这个 ArrayList 类中包含了 add、get 和 size 三个方法,其中 add 方法用于添加元素,get 方法用于获取指定位置的元素,size 方法用于获取 ArrayList 的大小。当 ArrayList 的容量不足时,会自动扩展容量。
阅读全文