Advanced Java/Java.util.List

A List is a subinterface of java.util.Collection that keeps its elements ordered (like an array) and allows duplicate elements (also like an array). In fact, the main difference between an array and a list is that arrays are fixed-width, but lists can grow and shrink on demand.