Oi, João Vinicius.
Meus parabéns por concluir o desafio de removendo elementos. É gratificante ver como você utilizou os métodos de manipulação de listas para manter a integridade dos dados escolares.
A sua solução tá tecnicamente impecável. Ao utilizar o método remove("Pedro"), você optou pela remoção por objeto, o que é muito prático quando conhecemos exatamente o conteúdo que deve ser excluído. O Java busca o elemento na lista e, ao encontrá-lo, faz o ajuste automático dos índices dos demais itens, garantindo que a lista continue contínua e sem "buracos".
Pra aprofundar seus conhecimentos em coleções, vale notar que o método remove também aceita um índice numérico como parâmetro. Se você soubesse que "Pedro" estava na terceira posição, poderia usar estudantes.remove(2). Mas, remover pelo nome costuma ser mais seguro em listas dinâmicas para evitar erros de índice. Você pode conferir mais detalhes sobre esses comportamentos na documentação da interface List.
Conseguiu perceber como o ArrayList reorganiza automaticamente os nomes restantes após a exclusão do "Pedro", sem que você precise mover manualmente o "Antônio" para a posição anterior?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!