Array: ======== 1. It will not support dissimlar data type 2. It has high memory wastage 3. It has fixed length COLLECTION:(I) ============= 1. List 2. Set 3. Map Parent for all the Classes is Object Parent for all the Interface is Search Context SEARCH CONTEXT | ITERABLE | COLLECTION(I) List(I) Set(I) Map(I) 1. ArrayList(C) 1. HashSet(C) 1. HashMap(C) 2. LinkedList(C) 2. LinkedHashSet(C) 2. LinkedHashMap(C) 3. VectorList(C) 3. TreeSet(C) 3. TreeMap(C) 4. HashTable(C) 5. ConcurrentHashMap(C) 1. List: ========= 1. Interface 2. It prints in insertion order 3. It allows duplicate 4. It is index based 1. ArrayList - Searching & retrieving is the best case Deletion & Insertion is the worst case Asynchronised (not thread safe) 2. LinkedList-Deletion & Insertion is the best case Searching & retrieving is the worst case Asynchronised (not thread safe) 3. VectorList - synchronised(thread safe) --------------------------------------------------------------------------------- 2. Set: ======== 1. It is an Interface 2. It prints in random order 3. It will not allow duplicate 4. It allows one null but not the duplicate. 5. It is value based 1. HashSet: ============ 1. It is a class 2. It prints in random order 3. It will not allow duplicate. 4. It will allow single null. 2. LinkedHashSet: ================= 1. It is a class 2. It prints in insertion order 3. It will not allow duplicate. 4. It will allow single null. 3. TreeSet: ============ 1. It is a class 2. It prints in ascending order 3. It will not allow duplicate. 4. It will not allow even single null.