这是Java的源代码ArrayList(使用java 1.8)
public boolean add(E e) {
ensureCapacityInternal(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
Run Code Online (Sandbox Code Playgroud)
public boolean addAll(Collection<? extends E> c) {
Object[] a = c.toArray();
int numNew = a.length;
ensureCapacityInternal(size + numNew); // Increments modCount
System.arraycopy(a, 0, elementData, size, numNew);
size += numNew;
return numNew != 0;
}
Run Code Online (Sandbox Code Playgroud)
我不是很清楚为什么我们只能使用Eforadd()而我们可以使用<? extends E>foraddAll()