This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
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).