1
resposta

Como fazer para nao ter que repetir o codigo do for para a impressao?

Neste exercicio imprimimos duas vezes, uma antes do sort e outra depois. Como fazemos para construir uma funcao para imprimir a lista, e depois chamá-la cada vez que vamos a imprimir?

1 resposta

Olá Yaco, tudo bem com você?

Nesse caso, basta extrairmos o trecho de código que itera sobre a lista de contas imprimindo cada elemento dela. Para fazer isso, temos dois atalhos no Eclipse:

  1. Selecione o trecho de código que você quer extrair para uma função, pressione Ctrl + 1 e selecione a opção Extract to method;

  2. Selecione o trecho de código que você quer extrair para uma função e pressione Ctrl + 2, M.

Se fizermos isso no segundo laço for da classe Teste, será criada uma função estática que receberá uma List<Conta> lista como parâmetro para que depois seja realizada a iteração dentro do método. Dessa forma, a classe ficaria mais ou menos assim:

    // código omitido

    imprimeContas(lista);

    lista.sort(null);

    System.out.println("---------");

    imprimeContas(lista);

}

private static void imprimeContas(List<Conta> lista) {
    for (Conta conta : lista) {
        System.out.println(conta + ", " + conta.getTitular().getNome());
    }
}

    // código omitido

Espero ter ajudado. Se ficou alguma dúvida é só avisar!

Abraços e bons estudos!!