Oi Icaro
Essa é uma dúvida que vai levar um tempo para ser sanada. É natural, e bom, você estar sempre se questionando como se referenciar o objeto. E apenas com a prática vai ficar mais claro.
Bem, indo direto a questão: a regra geral é sempre tentar ser o mais "genérico" possível. Se você pode se referir como Set
, não precisa falar TreeSet
, se você pode se referir como Collection
, melhor ainda! Por quê? Pois o dia que precisar mudar a implementação, menos chances de ter de mudar outros pontos do código.
No caso do exercício, e em diversos casos reais de código, usamos o TreeSet
para se referir apenas para ficar claro. Isso também não é considerado má prática se a variável for uma variável local (isso é, não um atributo da classe), já que ela nasce e morre dentro de um escopo curto e pequeno, qualquer mudança seria apenas local.