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

Exercicio de exemplo

Ola,

Eu nao consegui aplicar este exemplo de metodo compareTo. Alguém poderia forcene-lo a mim de como aplicar no public static void main?

Obrigado

3 respostas
solução!

Oi John, vou colar o código das classes aqui, mas me explica por que você não conseguiu fazer? Alguma dúvida?

Classe Aula:

public class Aula implements Comparable<Aula>{

    private String titulo;
    private int tempo;

    public Aula(String titulo, int tempo) {
        this.titulo = titulo;
        this.tempo = tempo;
    }

    public String getTitulo() {
        return titulo;
    }

    public int getTempo() {
        return tempo;
    }

    @Override
    public String toString() {
        return "{Aula: "+ this.titulo +", Tempo: "+ this.tempo +"}";
    }

    @Override
    public int compareTo(Aula outraAula) {
        return this.titulo.compareTo(outraAula.titulo);
    }



}

Classe que testa Aula:

public class TestandoListaDeAulas {
    public static void main(String[] args) {
        Aula a1 = new Aula("Revisitando as ArrayLists", 21);
        Aula a2 = new Aula("Lista de objetos", 20);
        Aula a3 = new Aula("Relacionamento de listas e objetos", 15);

        ArrayList<Aula> aulas = new ArrayList<>();
        aulas.addAll(Arrays.asList(a1, a2, a3));

        System.out.println("Lista em ordem de inserção: ");
        System.out.println(aulas);

        Collections.sort(aulas);
        System.out.println("Lista em ordenada por título (Collections + Comparable): ");
        System.out.println(aulas);

        System.out.println("Lista em ordenada por tempo (Collections + Comparator): ");
        Collections.sort(aulas, Comparator.comparing(Aula::getTempo));
        System.out.println(aulas);

        System.out.println("Lista em ordenada por tempo (Sort da Lista + Comparator): ");
        aulas.sort(Comparator.comparing(Aula::getTempo));
        System.out.println(aulas);
    }
}

Olá Wanderson!

Eu não havia encontrado o exemplo, aqui nao abriu. Deve ter sido minha internet..

Ficou claro o exemplo! Obrigado

Entendi, qualquer dúvida, pinga a gente aqui no fórum! Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software