List is an interface, while the ArrayList class is its most often used implementation. Both are residing in the java.util package. The ArrayList class has a few more methods - in addition to those declared in the List interface. The removeRange() method, for example, is not present in the List interface but available in the ArrayList API.