1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Dúvida sobre TreeSet

Como a prova para certificação se aproxima, eu intensifiquei meus estudos, mas fiquei um pouco confuso com um exercício do CertPal:

Given this program what will be the output ?

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

        Set <Drip> set = new TreeSet<Drip>();
        set.add(new Drip());
        for (Drip d : set)
        {
            System.out.print(d);
        }
    }

    public String toString()
    {
        return "Hi";
    }
}
Alternativas (escolha somente uma):

1.)   Hi 

2.)   No output 

3.)   Compile error 

4.)   Runtime error 

5.)   None of the above

Após errar e pesquisar o motivo do erro, eu descobri uma explicação, mas achei legal postar aqui no fórum para o caso de mais alguém se sentir confuso. E aí qual a resposta certa e por quê?

Edit 1 - Complementando - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

De cara marquei a alternativa 4, olhei que era um TreeSet não vi a classe implementando um Comparable, matei a questão. O problema é que o mock mostra a alternativa 1 como resposta correta. Fui pesquisar a explicação e achei em um site gringo. Segundo eles como só um elemento foi adicionado no Treeset chamado set, o compilador não tem a necessidade de ordernar, e portando não apresenta erro/executa sem problemas. Mas provavelmente como muitos aqui fiz o teste e me deparei com uma RunTimeException.

E aí ? O mock está errado ? A explicação é válida?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java collections certificação ou faça a sua própria pergunta.