Quando utilizzare un elenco su una matrice in Java?

In Java, quando sarebbe preferibile utilizzare una lista piuttosto che una matrice?