Hi,
Adding one more point -
Using Array Notation for One-Dimensional Lists
When using one-dimensional lists of primitives or objects, you can also use more traditional array notation to declare and reference list elements. For example, you can declare a one-dimensional list of primitives or objects by following the data type name with the [] characters:
String[] colors = new List<String>();
These two statements are equivalent to the previous:
List<String> colors = new String[1];
String[] colors = new String[1];
To reference an element of a one-dimensional list, you can also follow the name of the list with the element's index position in square brackets. For example:
colors[0] = 'Green';
Even though the size of the previous String array is defined as one element (the number between the brackets in newString[1]), lists are elastic and can grow as needed provided that you use the List add method to add new elements. For example, you can add two or more elements to the colors list. But if you’re using square brackets to add an element to a list, the list behaves like an array and isn’t elastic, that is, you won’t be allowed to add more elements than the declared array size.
All lists are initialized to null. Lists can be assigned values and allocated memory using literal notation. For example:
List<Integer> ints = new Integer[0];//Defines an Integer list of size zero with no elements
List<Integer> ints = new Integer[6];//Defines an Integer list with memory allocated for six Integers
Hope this helps.