I know that List is an interface that ArrayList class implements.
That's exactly the difference :)
When you're using the two variables (mylist) and (mylist2) in code, you would have access to any methods that ArrayList defines that aren't part of the basic List interface only on mylist2.