Mas qual a dificuldade?
Perceba que, pelas regras que você colocou, teremos:
Quanto maior a média, maior a posição.
Se uma ou mais médias forem iguais, a posição se repete.
Dois ifs resolvem o problema, não?
Mais ou menos como uma rotina para ordenar
Para guardar os dados você poderia usar algo do tipo:
List< List> ranking = new ArrayList<List>();
era essa a dúvida ? Ou você precisa de alguma forma de inserir/remover/ordenar ?
R
Roger75
Se os dados estiverem armazenados num banco sql, poderia fazer um group by pelas notas (para saber quantas posições diferentes existem) e depois faz outro select a partir da primeira lista, para ver quem tirou a nota de cada posição.
M
magostta
Você também pode usar uma estrutura que ordene em tempo de inserção: