August 2018
Intermediate to advanced
524 pages
14h 45m
English
This class is an implementation of the List interface that keeps the references to the elements in an array. That way, it is fairly fast to access an element by index. On the other hand, inserting an element to ArrayList can be costly. It needs moving all references above the inserted element one index higher, and it may also require resizing the backing array in case there is no room in the original one to store the new element. Essentially, this means allocating a new array and copying all references to it.
The reallocation of the array may be optimized if we know how large the array will grow and will call the ensureCapacity() method. This will resize the array to the size provided as an argument, even if the currently used slots ...