Eu tava pensando em outras implementações para esse método de adicionar um novo elemento em um determinado índice e pensei....
- Verificar se existe algum elemento na posição
// declaração das variáveis private Aluno[] alunos = new Aluno[100]; private int posicaoLivre = 0; public void adicionar(int index, Aluno aluno) { if(alunos[index] == null) { // Quer dizer que tenho a posição livre alunos[index] = aluno; posicaoLivre++; return; } // Não tenho a posição livre. // Logo, ir no índice livre e atribuir o elemento existente // Adicionar o elemento vindo do parâmetro na posição desejada // Incrementar a posição livre. alunos[posicaoLivre] = alunos[index] alunos[index] = aluno; posicaoLivre++; }
Eu fiz um teste aqui e funcionou. Qual seria o problema dessa implementação?