Pessoais dadospessoais = new Pessoais ();
dadospessoais.setnome("1");
dadospessoais.setvalor("1");
dados.add(dadospessoais);
dadospessoais = new Pessoais ();
dadospessoais.setnome("2");
dadospessoais.setvalor("2");
dados.add(dadospessoais);
dadospessoais = new Pessoais ();
dadospessoais.setnome("3");
dadospessoais.setvalor("3");
dados.add(dadospessoais);
O que vc tah fazendo, criou uma Pessoa:
dadospessoais = new Pessoais ();
Setou os dados e adicionou a lista, porém a lista não vai ter a copia dela e sim uma referencia a ela, se vc alterar ela, vc estara alterando a mesma referencia que esta na lista, portanto cada vez que vc altera, altera o que esta na lista. Logo no fim vc tera adicionado 3 vezes a mesma referencia na lista, e toda vez que vc faz os set’s vc esta alterando essa referencia.
Exemplo:
import java.util.ArrayList;
import java.util.List;
public class Teste {
static class Pessoa {
public int i;
}
public static void main(String[] args) {
Pessoa p1 = new Pessoa();
p1.i = 1;
List<Pessoa> list = new ArrayList<Pessoa>();
list.add(p1);
Pessoa p2 = list.get(0);
p2.i = 2;
System.out.println(p1.i);
System.out.println(p2.i);
}
}
Repare que não vai mostrar 1 porque quando fiz p2.i = 2 estou alterando o mesmo objeto que p1 referencia, logo estou alterando p1.