If we want a Collection that does not store duplicate
values, then we use a Set based collection.
2. If we want to frequently access elements operations based
on an index value then we use a List based collection. E.g.
ArrayList
3. If we want to maintain the insertion order of elements in a
collection then we use a List based collection.
4. For fast search operation based on a key, value pair, we
use a HashMap based collection.
5. If we want to maintain the elements in a sorted order, then
we use a TreeSet based collection.