Collections are very important on SCJP exam. It’s useful to remember the following…
List
- ordered (index)
- duplicates allowed
ArrayList
- fast iteration
- fast random access; as of Java 1.4 implements
RandomAccessinterface - slower instertion and deletion
Vector
- the same as ArrayList but its metods are synchronized (therefore slower)
LinkedList
- elements are doubly linked to one another; linkage adds methods that allow adding/removing from beginning and end of the List (stacks, queues)
- fast insertion and deletion
- slower iteration
- as of Java 5 implements
java.util.Queue
Set
- can be ordered
- can be sorted
- duplicates not allowed (
eqauls())
HashSet
- unordered
- unsorted
- fast access
- uses
hashCode()of the inserted object
LinkedHashSet
- ordered HashSet (order of insertion)
- unsorted
- elements are doubly linked to one another
TreeSet
- sorted (one of two sorted Collections) - elements are kept in ascending order according to natural order
- uses Red-Block tree structure
- attempt of adding an object which doesn’t implement
compareTo()results in ClassCastException
Map
- can be ordered
- can be sorted
- duplicate keys not allowed (
eqauls()) - any class used as a key for a Map must override
hashCode()andeqauls()
HashMap
- unordered
- unsorted
- fast updates (key/value pairs)
- allow one null key and many null values
Hashtable
- synchronized HashMap (slower)
- old…
- can’t keep anything that is null
LinkedHashMap
- insertion order
- fast iteration
- slower addition and deletion
- allow one null key and many null values
TreeMap
- sorted
- can define custom order using
ComparableorComparator
Queue
- ordered by FIFO (first in - first out) or by priority
PriorityQueue
- you can create a priority-in and priority-out queue as opposed to typical FIFO
- ordered by natural order (elements sorted first will be accessed first) or according to Comparator
size()peek()- returns the highest priority element, without removingpoll()- returns the highest priority element and removes itoffer()- adds an element














0 Responses to “Collection classes in Java”