we are going to look at Collections in Java Arrays Lists Maps Sets Array -> fixed sized collection and fixed data type int[] data; <- this is currently null, an array is an Object int[] data = new int[5]; <- now I have 5 integers Java has a number of Collections, that allow me to grow/shrink/replace/etc Java has 3 basic Collecion types (Interfaces) and lots of specific Collections for example the Interface List says a Collection is accessed by index I can add to the end of the collection I can pull from the start of the Collection etc Java has a "Concrete" List called LinkedList or a StacK (add to the top) or Queue (add to the bottom) all of these are Lists, they just implement the method in a different way Collection hold Objects (not primitives) the 3 Collection types are: List -> index, zero based Map) Set the List we use most often is an ArrayList we code it like: List recordsFromFile = new ArrayList(); we use Lists for sequental collections when I do not know the size before I start Map is key based, I use a Map when I want "random" access the Map we use most ofter is a HashMap we code it like: Map data = new HashMap(); Set is Unique entries and handled like a List zero based indexing the Set use use most often is a HashSet