List differs from
ArrayList . I googled, but really didn't find anything (at least in Russian). As I understand it,
ArrayList is an implementation of
List , but I didn't notice much difference. So what's the difference?
ArrayList implements the
List interface, it must have all the
List methods plus (possibly) some others. Hence the external similarity. At the same time, these methods are not implemented in
List at all and it is impossible to create an object with the
new List() command.
Implementations of the same interface may have externally the same methods, but radically differ in their internal implementation. For example, an
ArrayList is based on an array, which, if necessary, is replaced by a larger (or smaller) one, and the content is rewritten from the old to the new one.
LinkedList (another implementation of the
List interface) is based on a bi-directional linked list, and each element of the list contains a link to the next and previous elements.