SóProvas


ID
2336686
Banca
FCC
Órgão
TRE-SP
Ano
2017
Provas
Disciplina
Programação
Assuntos

Considere o tipo de collection Java, abaixo.

Set c = new HashSet<>();

c.add("TRE");

c.add("TRT");

c.add("TRF");

Para percorrer e exibir cada elemento contido em c utiliza-se

Alternativas
Comentários
  • C.

    Para percorrer um HashSet, ArrayList ou HashMap, pode-se usar o enhanced for, o qual consiste em um tipo, variavel, :  e o collection que ele vai analisar. 

  • Ah, o nosso querido for each. Item correto, iterando sobre o Set c, onde cada elemento será atribuído a p.

  • Discordo do gabarito, essa expressão não compila, tive que colocar no Eclipse para ter certeza, ocorre o erro: Type mismatch: cannot convert from element type Object to String

    O correto seria:

    Set c = new HashSet<String>();
    c.add("TRE");
    c.add("TRT");
    c.add("TRF"); 

  • Igual o @Java Guy disse, possui um erro nessa questão em dizer que funcionaria o "fore" simplesmente definindo um "for (String..."

    Se caso fosse um "for (Object..." funcionaria perfeitamente, pois quando não especifico o tipo do Set<> ele por padrão é Set<Object>.

  • É a que tá menos errada, né? ='/

  • Fiz o mesmo teste que o Java Guy fez. Não compilava acusando o seguinte erro: "Type mismatch: cannot convert from element type Object to String ". Porém quando declarei o tipo String para o Set e o HashSet, o erro parou de funcionar e rodou normalmente.

    Set<String> c = new HashSet<String>();
            c.add("TRE");
            c.add("TRT");
            c.add("TRF");

    for (String p:c){    System.out.println(p);    }

     

     

    Por mim, é uma questão que deveria ser anulada .