Both ArrayList Objects are same. The first one is accessed using an interface reference while the second one is accessed using ArrayList reference. The difference is that in first declaration of ArrayList you can only call those methods which are defined in List Interface.
ArrayList class implements List Interface so it implements all methods given in List Interface and also has some methods which are specific to ArrayList. Those methods which are specific to ArrayList cannot be called using reference of its Interface(List).