In most of the Java code that uses collections,i see something like this.
List<String> list = new ArrayList<String>();
But i always wondered why it is preferred over
ArrayList<String> = new ArrayList<String>();
I researched a bit but wasnt able to understand a lot.