The question was about List, not necessarily ArrayList or Vector. Sure, ArrayList is the most common implementation found in most modern
Java programs (die, Vector!) but it's far from the only one. Of course the List interface requires that methods like size() and get() use an int value, which means there's no way to ever have more than Integer.MAX_VALUE elements in a List. Much like Rob's agrument about ArrayList and Vector, except there's no reason to confine ourselves to those particular implementations - the Integer.MAX_VALUE limitation is more fundamental than that.
Beyond that - well, Henry's point about the maximum size of a single object may be relevant, if you're using an ArrayList. But again, let's not forget that there are other forms of List out there. A LinkedList, for example, does not suffer this particular limitation at all. And let's remember that some List implementations do not allow you to add elements at all. Try adding something to a List you get from Arrays.asList(), for example. Or Collections.unmodifiableList().
Once again, we have a question asked in Beginner, whose answer is perhaps beyond the scope of Beginner. That's unfortunate, but it happens. Maybe the poster only meant to ask about ArrayList - or maybe not. Either way, I don't think that understanding is served very well with oversimplified answers. If the only truthful answer is "the answer to that is too complicated for the Beginner forum", so be it.