RE: WHEN UR USING ARRAYLIST AND LIKEDLIST AND VECTOR ...
You normally use ArrayList to keep a list when you only insert at the end. ArrayList is not synchronized but it is the fastest. A Vector do the same thing as the ArrayList but it is synchronized and a little slower.
You use a LinkedList when you need to insert an element at the middle of the list. A LinkedList is not synchronized.
A HashMap is the same as Hashtable as you hash the list for ease of extraction. Hashtable is synchronized while HashMap is not.