Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Usar Set no lugar de TreeSet

Por no código abaixo, da erro de compilação caso eu utilize polimorfismo, me referindo ao TreeSet como um Set?

public class TesteSet {

    public static void main(String[] args) {
        TreeSet<Integer> teste = new TreeSet<>(); // Nesta linha, porque não consigo colocar: Set<Integer> teste = new TreeSet<>(); ?

        for(int i = 1; i <= 1000; i++){
            teste.add(i);
        }

        for(Integer i : teste.descendingSet()) { // O erro ocorre no método descendingSet();
            System.out.println(i);
        }
    }
}
3 respostas
solução!

Oi Rodrigo,

Ocorre o erro pois este método não está presente na interface Set e sim na interface NavigableSet da qual a classe TreeSet implementa.

https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html#descendingSet()

Abraço!

A interface Set<> não possui o método descendingSet(). Você pode mudar a referência para NavigableSet.

Muito obrigado !