Hola...
Cada nuevo registro sera un nuevo objeto que creas para agregarlo a la lista, ya que sino haces eso ocurre que no importa cuantas veces iteres la lista siempre guardara el mismo resultado al tener en cuenta que para Java ese Objeto que le estas pasando sigue siendo el mismo.
Por lo tanto, para agregar nuevos valores a tu lista deberías intentar algo como lo siguiente...
Código Java:
Ver originalObjeto o = new Objeto()
a.setCampo(0);
a.setCampo("Nombre");
lista.add(a);
o = new Objeto()
a.setCampo(1);
a.setCampo("Apellido");
lista.add(a);
Observa como voy creando un nuevo objeto por cada nuevo valor que agrego a la lista, sino hacemos eso el valor siempre sera 0 y "nombre".
Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!