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
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
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!