Não estou conseguindo finalizar este exercicio

Preciso colocar este exercicio em ordem decrescente de acordo com a nota e apresentar junto o seu respectivo nome.
Não estou conseguindo identificar nem em que parte do programa tento fazer isso e nem o que devo usar, sou iniciante mesmo por
isso ficarei agradecido se alguem puder me ajudar com dicas ou exemplos que possam iluminar minhas ideias.
Sem ordenar foi até facil montar mas agora o bicho pego.
Muito Obrigado!!!

O exercicio é este

[import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

class Array{
public static void main(String args[]){

               ArrayList <String> Nome = new ArrayList <String>();
               ArrayList <Double> Nota = new ArrayList <Double>();

               for (int x = 1; x > 0; x ++ ){
                         System.out.println ("Entre com o nome da candidata:");
                         Nome.add (Keyboard.readString());
                         System.out.println ("Entre com a nota da candidata:");
                         Nota.add (Keyboard.readDouble());
                         System.out.println ("Deseja finalizar (s/n)");
                         String Fim = Keyboard.readString();
                         if (Fim.equals ("s"))
                              break;
              }
              
             Iterator <String> itr = Nome.iterator();
             Iterator <Double> itre = Nota.iterator();
             System.out.println ("-------------------------------");

             while (itr.hasNext ()){
                          String NomeCand = itr.next ();
                          double NotaCand = itre.next ();
                          System.out.println (NomeCand+ " = "+NotaCand);                
              }
     }

}]

Cham do jeito que voce está fazendo está ruim pra ordernar, pois você não tem nenhuma ligação entre as duas listas Nome e Nota.
Então pra facilitar se eu fosse você eu criaria um objeto Pessoa.

public class Pessoa { String nome; Double nota; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Double getNota() { return nota; } public void setNota(Double nota) { this.nota = nota; } }
Aí voce começa a usar só uma lista de pessoas.

então para ordenar você pode fazer um método que ordena comparando uma nota com a outra (procura na internet um algoritmo chamado BubleSort é facinho de implementar) ou pode usar o da classe java.util.Collections.sort(List list, Comparator c); mas aí você tem que alterar o metodo de comparação dele pra considerar a nota, procura na internet como fazer para implementar o método compare dessa classe.