I always learn when we declare a collection we should do, Interface ob = new Class()
, if i want to use for example a LinkedList i\'ll do List ob = new LinkedL
you can still have access to LinkedList methods by using List, all you have to do is to type cast for example
((LinkedList)ob).add()
The point of using generic List and not LinkedList is because in case you simply change the type of lists you are using (let's say double linked list) your program will still work Generics are to simplify your code to be more portable and more "changeable"