Duvida ArrayList

8 respostas
E

Como posso usar variaveis e um ArrayList, tipo um array de alunos e eu queira
definir o nome e a idade para cada aluno.

private int idade;
private String nome;

List arrayAlunos = new ArrayList();

??? arrayAlunos.setNome
??? arrayAlunos.add.SetNome

Parei nisso e não consigo resolver, se puderem postar
a sintaxe de como fazer isso agradeço.

8 Respostas

fabim
Aluno aluno = new Aluno();
aluno.setNome("Fabio");
aluno.setIdade(25);

arrayAlunos.add(aluno);
berg.pb

Olá Edulemos

o ideal é vc instanciar o objeto fora do ArrayList e adicioná-lo, como o Fabim demonstrou.
porém, se vc precisar alterar um valor de um objeto que já está dentro do arraylist, vc terá que encontrar a posição onde ele se encontra e alterar.

daí, seria algo mais ou menos assim:

for (int i=0;i<arrayAlunos.size();i++){
  //procura em cada posição do array, atraves da variável i, 
  //comparando com o atributo nome para encontrar a pessoa certa.

  if (arrayAlunos.get(i).nome.equalsIgnoreCase("Fabio") 
    arrayAlunos.get(i).setIdade(28);
}

Abraços
Deus abençoe

B
berg.pb:
Olá Edulemos

o ideal é vc instanciar o objeto fora do ArrayList e adicioná-lo, como o Fabim demonstrou.
porém, se vc precisar alterar um valor de um objeto que já está dentro do arraylist, vc terá que encontrar a posição onde ele se encontra e alterar.

daí, seria algo mais ou menos assim:

for (int i=0;i<arrayAlunos.size();i++){
  //procura em cada posição do array, atraves da variável i, 
  //comparando com o atributo nome para encontrar a pessoa certa.

  if (arrayAlunos.get(i).nome.equalsIgnoreCase("Fabio") 
    arrayAlunos.get(i).setIdade(28);
}

Abraços
Deus abençoe

Use um iterator, o get(i) terá uma performance abissal nesse caso.

berg.pb

Tem razão.
:thumbup:

diegosantiviago

List arrayAlunos = new ArrayList(); arrayAlunos.setNome arrayAlunos.add.SetNome
Eduzão, neste código você está tentando setar o nome na variavel da lista. Na verdade, você tem que setar nos objetos! Mas você não tem um objeto Aluno ali, só uma lista de Aluno completamente vazia.

E

Ai galera valeu mesmo, deu uma clareada maneira consegui fazer o que queria, so não consegui
fazer imprimir tudo com um laço de repetição so um a um, se puderem quebrar mais essa agradeço.

System.out.println("\nO nome do aluno é " + aluno1.getNome() + “.”
+ "\nSua idade e de " + aluno1.getIdade() + “Anos”);

System.out.println("\nO nome do aluno é " + aluno2.getNome() + "."
                      + "\nSua idade e de " + aluno2.getIdade() + "Anos");
diegosantiviago

Provavelmente coloque um laço onde você está pegando o aluno1 e aluno2! :smiley:

O

Pelo visto você já entendeu que precisava de um objeto Aluno com as propriedades idade e nome. Agora você precisa criar uma lista e populá-la com seus objetos Aluno (de preferência num loop, usando apenas um objeto Aluno auxiliar: lista.add(aluno)). Em seguida, use outro loop para fazer a impressão.

Criado 10 de fevereiro de 2009
Ultima resposta 11 de fev. de 2009
Respostas 8
Participantes 6