2
respostas

Resolução:

package br.com.bytebank.banco.tarefas;

import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

/**
 * Classe exercicio;
 * @author Pablo
 *
 */
public class tarefa01 {
        public static void main(String[] args) {
            Aula aulaIntro = new Aula("Introdução às Coleções", 20);
            Aula aulaModelando = new Aula("Modelando a Classe Aula", 18);
            Aula aulaSets = new Aula("Trabalhando com Conjuntos", 16);

            List<Aula> aulas = new ArrayList<Aula>();
            aulas.add(aulaIntro);
            aulas.add(aulaModelando);
            aulas.add(aulaSets);

            Collections.sort(aulas);

            for (Aula aula : aulas) {
                System.out.println(aula);
            }
        }
    }
/**
 * Deve adicionar implements Comparable;
 * Porque devemos adicionar a Interface Comparable;
 * Para assim adicionarmos a possibilidade da comparação por forma natural;
 * De dois objetos do tipo <Aula>;
 * Ou seja aqui eu posso comparar a Aula atual com outra Aula;
 * @author Pablo
 *
 */
    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 void setTitulo(String titulo) {
            this.titulo = titulo;
        }

        public int getTempo() {
            return tempo;
        }

        public void setTempo(int tempo) {
            this.tempo = tempo;
        }


        @Override
        public int compareTo(Aula outro) {

            /**
             * Ordenando por Tempo;
             */
            return Integer.compare(this.tempo, outro.tempo);

            /**
             * Ordenando por Titulo;
             */
            //String dTitulo = this.titulo;
            //String dOuTitulo = outro.titulo;

            //return dTitulo.compareTo(dOuTitulo);
        }

        @Override
        public String toString() {
            return "[título: " + titulo + ", tempo: " + tempo + " minutos]";
        }        
    }
2 respostas

Olá Pablo,

Testei aqui o seu código e ele está funcionando corretamente e ordenando de forma crescente as aulas de acordo com o tempo. Era isso mesmo que você queria?

Caso contrário, diz aqui pra gente o que está acontecendo de errado pra gente conseguir te ajudar!

Isso mesmo

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