Passar List<Objeto>

E ai rapazeada…bom estou com algumas duvida com relação a coleções, por exemplo eu tenho um uma classe Aluno
e quero fazer uma coleção de alunos ai eu faço assim.

List al = new ArraList();

// Só que assim eu quero saber como fazer para add sem ter que criar um a um objeto aluno sem ser
// Aluno alunos1 = new Aluno(); Aluno alunos2 = new Aluno(); como se fosse um for e repetindo varias vezes
// tipo assim

for(int i = 0; i < 5; i++){
Aluno alunos = new Aluno();
al.add(alunos);
}

isso é possivel ou vai criar o mesmo objeto sempre ou sera objetos diferentes ?

is possible :lol: ;

Porque você quer “matar” a OO??? ehehheh

Absolutamente, não quero matar a OO na verdade quero saber se existe um forma melhor o se a que eu fiz é a certa . Se podem dar algum exemplo de retonar um ArrayList estando em outra class e percorela…

Não há problemas em usar a mesma variável de referência para popular sua coleção.

No momento que é dado um new() é criado um novo objeto na memória, com novos valores default para os seus atributos.
A varivável de referência é apenas uma maneira de acessar o objeto.
Toda vez que você dá um new() e atribui a variável, a referência para o objeto anterior é perdida, tornando acessível apenas o novo objeto.

Dessa forma sua lista não será preenchida com os mesmos objetos.

O que você fez deve funcionar. Aliás, se você não vai adicionar informação nenhuma no aluno poderia fazer assim:

List<Aluno> alunos = new ArrayList<Aluno>();

for ( int i = 0; i < qtdeAlunos; ++i ) {
  alunos.add(new Aluno());
}

Você não vai estar referenciado o mesmo objeto, não se preocupe…

Abraço.

[size=15][color=darkred] Como eu teria que fazer se eu quisesse imprimir os atributos de Aluno?!?!!?!
cod, nome, nota1, nota2a…[/color][/size]

[code]public class Aluno{

public int cod;
public String nome;
public int nota1;
public int nota2

[…]

}[/code]