Método adiciona
public void add(int index, Student student) {
if (index > students.length)
throw new ArrayIndexOutOfBoundsException(index + " > " + students.length);
for (int i = studentsCount - 1; i >= index; i -= 1)
students[i + 1] = students[i];
students[index] = student;
studentsCount++;
}
Teste
@Test
public void addStudentInNullPosBeforeFilledPos() {
students.add(1, s2);
students.add(2, s1);
students.add(0, s3);
assertEquals("[Leticia, Edson, Karen, null, null, null, null, null, null, null]", students);
assertEquals(3, students.size());
}
De início temos adicionados os elementos s2 (ownn.. seria Student 2, ok?)
voltando, adicionei o elemento s2 na posição 1 e o elemento s1 na posição 2.
A posição 0 ficou nula e quero adicionar o elemento s3 nela, após adicionar, minha posição 1 fica nula, pois nós movemos as posições a direita.
Como resolver este problema?
Abraços.