ArrayList is not thread-safe, the source code is not used synchronized
Initialize the ArrayList, if the initial capacity is not specified, the first time to add elements to the inside, the initial growth capacity of ten
ArrayList expansion algorithm, each growth 50%
When the capacity is not enough, it will increase the current capacity of 50%, and then call the System.arraycopy method, so if you know the capacity to grow, it is best to call the ensurecapacity(int minimumcapacity) method To increase efficiency by expanding the capacity first
ArrayList multiple use of the System.arraycopy method
arraycopy (Object src, int srcpos, object dest, int destpos, int length)
SRC: source array;
Srcpos: The starting position of the source array to be copied;
Dest: an object array;
Destpos: The starting position of the destination array placement;
Length: The size of the copy.
Java's ArrayList