In most of the examples JAVA collection objects are instantiated as:
List <String> l1 = new LinkedList<String>();
Set<String> s1 = new HashSet<String>();
Instead of:
LinkedList<String> l1 = new LinkedList<String>();
HashSet<String> s1 = new HashSet<String>();
What is the difference in these method of instantiation ?