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]";
}
}