Na apostila de Java e Estrutura de Dados da Caelum, diz que se uma lista estiver cheia, é aconselhável criar um método assim:
private void garanteEspaco() {
if(this.alunos.length == 5) {
Aluno[] novoAluno = new Aluno[this.alunos.length * 2];
for(int i = 0; i < this.alunos.length; i++) {
novoAluno[i] = this.alunos[i];
}
}
}
Que dobra a quantidade do array para 10, o meu é 5, no próprio método de adicionar.
Mas eu não sei como utilizar esse novo vetor, para mostrar os dados.