# 13. Java ## Overloading vs. overriding * Overloading: two methods have the same name, but differ in the type or number of alignments. * Overriding: a method shares the same name and function signature as another method in its super class ## Collection framework * ArrayList: dynamically resizing array, growing as you insert elements * Vector: similar to ArrayList, but synchronized * LinkedList * HashMap ```java ArrayList myArr = new ArrayList(); myArr.add("one"); myArr.add("two"); System.out.println(myArr.get(0)); Vector myVec = new Vector(); myVec.add("one"); myVec.add("two"); System.out.println(myVec.get(0)); LinkedList myLinkedList = new LinkedList(); myLinkedList.add("two"); myLinkedList.addFirst("one"); Iterator iter = myLinkedList.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } HashMap map = new HashMap(); map.put("one", "uno"); map.put("two", "dos"); System.out.println(map.get("one")); ```