es un simple ArrayList de objetos, en este caso de una clase custom definida por vos, proba hacer TAD test = new TAD(); dentro del for y no fuera.
[...]También tu problema puede ser que a la hora de agregar los objetos al ArrayList, estas reutilizando la instancia del mismo objeto en lugar de hacer un new cada vez, y por ende estas agregando el mismo objeto muchas veces.[...]
Es exactamente lo que estás haciendo, no estas creando una nueva instancia de clase, por ende, cuando tu asignas los valores lo estas haciendo en el mismo objeto, y cuando realizas el lista.add estas simplemente agregando el mismo objeto muchas veces, de ahí que todos sean iguales.
Saludos