| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/04/2010 03:00:08
|
igones
Thread.start()
Membro desde: 29/03/2010 17:12:21
Mensagens: 33
Offline
|
To começando a programar com O.O a poucos dias e meu professor falou assim: "Gente, quem sabe pode usar arraylist tranquilo, mas quem não sabe se vire com array". Ele só vai explicar Arraylist em algumas aulas, então resolvi tentar.
Como faço para adicionar um item na posição x da arraylist?
Olhem meu codigo besta, que simplesmente vai cadastrar nome e telefone quantas vezes a pessoa quiser e depois imprimir (simples, somente pra aprender).
Classe Pessoa
Classe Main..
Quando eu executo o codigo, ta imprimindo 'n' vezes somente o ultimo nome/telefone digitado =/. Alguem sabe aonde esta o erro?
Abraçoss!!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/04/2010 07:45:07
|
luciano@@
Virtual Machine Man
![[Avatar]](/images/avatar/1957be25763ff3ec3424555f62378b5d.png)
Membro desde: 28/04/2010 13:11:27
Mensagens: 527
Localização: Salvador,BA
Offline
|
O list recebe o elemento por referencia.
Se você preenche um objeto e adiciona no list e depois altera o valor do objeto você também altera o valor do objeto dentro da lista.
se você usar o add duas vezes para o mesmo objeto você terá duas referências para o mesmo objeto.
Tente fazer
list.add(p);
p = new Pessoa()
dessa forma resolve.
This message was edited 1 time. Last update was at 30/04/2010 07:50:05
|
As pessoas têm algo em comum. Sâo todas diferentes. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/04/2010 07:50:03
|
FernandoMelo
Thread.start()
Membro desde: 10/01/2008 17:11:01
Mensagens: 37
Localização: Florianópolis
Offline
|
Um arrayList é um array de objetos, no seu caso um array de pessoa.
Vc não precisa definir a posição em que o objeto vai ficar quando adicionar em uma ArrayList.
Segue
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/04/2010 09:00:41
|
arqueiros
JavaBaby
![[Avatar]](/images/avatar/39e4171faa8ad26cfce8e45f1924bce9.jpg)
Membro desde: 17/12/2008 16:04:28
Mensagens: 81
Offline
|
Quando eu executo o codigo, ta imprimindo 'n' vezes somente o ultimo nome/telefone digitado =/. Alguem sabe aonde esta o erro?
Está aparecendo somente o ultimo por que vc criou apenas um objeto pessoa e está apenas mudando o nome dele perdendo o nome/telefone que estavam antes...
Se ao invés de usar o this e setar o nome/telefone vc deveria criar um novo objeto para cada nome/telefone que digitar e adicionar no arraylist usando o método add..
Ok? precisando de algo eh soh falar
|
TADS - UNIFIEO
SCJA 1.0
OCJP 6 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/04/2010 16:05:43
|
igones
Thread.start()
Membro desde: 29/03/2010 17:12:21
Mensagens: 33
Offline
|
Valew, resolvido =DD
|
|
|
 |
|
|