"The best example I can give is to list the most important properties of a class Linked List. This highlights how they are used and why they are used.
A Linked List maintains an insertion order of the elements.
Implements Queue and Deque interfaces. These can also be used as a Queue, Deque, or Stack.
A Linked List can contain all the elements, including but not limited to duplicates and null.
A Java Linked List Class library is not synchronized, which means in a multi-threaded environment it must be synchronized concurrently for modifications to the linked list externally.
A Linked List Class doesn't implement a Random Access interface, so elements can be accessed in sequential order.
I can use a List Iterator to iterate elements of the list
I can use a collections synchronized List (new Linked List) to get a synchronized linked list."