Intruções gerais:
Neste exercício existe mais um padrão a ser adotado nos projetos que necessitam retornar uma coleção de objetos em uma consulta. Tais objetos devem ser retornados em uma estrutura navegável, ou seja, que possa ser percorrida sequencialmente do primeiro ao último elemento. O padrão a ser seguido utiliza Iterator, um objeto responsável por percorrer os elementos de uma coleção um a um e contendo dois métodos: hasNext(), para dizer se existe um próximo elemento e next() que retorna o elemento corrente(atual).
A classe ColecaoContasIteravel é uma colecao de contas que tem os métodos hasNext(), para dizer se existe uma próxima conta na coleção e next() que retorna a conta atual. Com estes dois métodos é possível percorrer uma coleção de contas.
A classe ArrayContas ganhou mais um método: procurarContas(String cpfCliente), que retorna todas as contas de um determinado cliente como uma coleção iterável.
Obs: Nem sempre existe a necessidade de se retornar uma coleção de objetos. Isto é uma característica do sistema. No entanto objetos que precisam ser retornados em coleções, devem seguir este padrão.
Exercício 1 (Essencial)