StringBuffer y ArrayList<String> no tienen nada que ver.
http://docs.oracle.com/javase/1.5.0/...ingBuffer.html Cita: A string buffer is like a String, but can be modified. At any point in time it contains some particular sequence of characters, but the length and content of the sequence can be changed through certain method calls.
String buffer es una clase que te permite modificar una String, añadir, borrar, modificar, etc.
ArrayList<String> es una colección (lista) de Strings.