Dúvida ArrayList e List

Gostaria de saber qual é a diferenca entre List e ArrayList e quando utilizar um ou outro. :wink:

da uma estudada em http://java.sun.com/javase/6/docs/api/

Em poucas palavras, List é uma interface e ArrayList uma classe que implementa a anterior. Utilize List sempre que possível.

List é uma interface implementada pela classe ArrayList.

Alguns topicos rapidos pra pegar a ideia:

List é uma interface, define o conceito de Lista em Java. Voce pode criar referencias (variaveis) do tipo List, mas nunca instancia-la. Criando referencias do tipo List, essa variavel poderá apontar para qualquer classe que implemente List (ou que seja subclasse de uma classe que a implemente).

ArrayList é uma implementação de List, com suas caracteristicas mas existem outras: Vector, LinkedList e assim por diante. Procure dar uma estudada sobre Collections no site da Sun, lá tem toda a hierarquia da API Collections do Java.