Pergunta 2 Considere o código em linguagem Java (qualquer versão) a seguir, que apresenta o uso de um tipo genérico para criar uma lista de nomes, utilizando a interface “Iterator” para recuperar os nomes da lista. public static void main(String[] args) { List nomes = new ArrayList(); nomes.add("João"); nomes.add("Maria"); nomes.add("José"); Iterator iterator = nomes.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } } Em relação ao código apresentado, assinale a alternativa correta. a. O método “hasNext()”, da interface “Iterator”, é utilizado para verificar se existem itens na lista e, em seguida, removê-los. b. Existe um erro no código apresentado, pois faltou a utilização do método “remove()”, para remover os itens do iterador a cada interação. c. O método “next()” retorna o próximo elemento do iterator, já no formato correto de saída, devido ao uso do tipo “Generics” na lista. d. Existe um erro no código apresentado, pois, no comando de saída, não houve a conversão de tipo de dados para String. e. A limitação do uso da interface “Iterator” é que ela percorre e remove os itens da lista, não permitindo que a lista seja usada novamente.