Ranking de alunos
Quando você trabalha com dados vindos de fontes diferentes, como nomes de alunos e suas notas, é comum manter duas listas paralelas. Ordenar manualmente uma delas sem atualizar a outra quebra a correspondência entre os dados. Dominar a sincronização entre listas paralelas evita que informações fiquem trocadas, algo essencial em sistemas de notas, relatórios ou qualquer aplicação que relacione dados em listas separadas.
O PROBLEMA
Dois ArrayLists paralelos. Exiba top 3 ordenando manualmente.
EXEMPLO
1º Ana (9.0)
SOBRE O CONCEITO
O exercício usa duas listas paralelas: uma de nomes (ArrayList<String>) e outra de notas (ArrayList<Double>). A posição 0 de uma lista corresponde à posição 0 da outra. Para ordenar manualmente, você percorre as listas com laços e, ao trocar duas notas, precisa trocar os respectivos nomes na mesma iteração. O erro comum é esquecer de trocar os nomes ao trocar as notas, fazendo com que, por exemplo, a nota 9.0 fique com o nome errado. Isso acontece porque o foco está apenas em uma lista. Para evitar, sempre que você usa set em uma lista, faça o set correspondente na outra, mantendo o índice consistente.
RESOLUÇÃO