This piece of writing is reprinted from the following URL:
http://download.oracle.com/javase/tutorial/collections/implementations/index.html
just for self-learning.
Three general-purpose Set implementations — HashSet, TreeSet, and LinkedHashSet.
Two general-purpose List implementations — ArrayList and LinkedList.
Three general-purpose Map implementations are HashMap, TreeMap and LinkedHashMap.
LinkedList
implements the Queue
interface, providing first in, first out (FIFO) queue operations for add
, poll
, and so on.
Difference among them:
HashSet is much faster than TreeSet but offers no ordering guarantees.
If you need to use the operations in the SortedSet interface, or if value-ordered iteration is required, use TreeSet; otherwise, use HashSet.
If you frequently add elements to the beginning of the List or iterate over the List to delete elements from its interior, you should consider using LinkedList rather than ArrayList.
If you need SortedMap operations or key-ordered Collection-view iteration, use TreeMap; if you want maximum speed and don't care about iteration order, use HashMap; if you want near-HashMap performance and insertion-order iteration, use LinkedHashMap.
Set
interface, HashSet
is the most commonly used implementation. List
interface, ArrayList
is the most commonly used implementation. Map
interface, HashMap
is the most commonly used implementation. Queue
interface, LinkedList
is the most commonly used implementation.