0
respostas

[Faça como eu fiz] Ordenando com Comparable

Agora é com você! Faça o mesmo procedimento que eu fiz na aula, implementando a interface Comparable para permitir a ordenação dos títulos.


package br.com.alura.screenmatch.principal;

import br.com.alura.screenmatch.screnmatch.modelos.Filme;
import br.com.alura.screenmatch.screnmatch.modelos.Serie;
import br.com.alura.screenmatch.screnmatch.modelos.Titulo;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class PrincipalComListas {
    public static void main(String[] args) {

        Filme meuFilme = new Filme("Rambo: Programado para matar",1982);
        meuFilme.avalia(9);
        Filme outroFilme = new Filme("Comando Delta",1986);
        outroFilme.avalia(6);
        var filmeDoCarlos = new Filme("The Terminator", 1984);
        filmeDoCarlos.avalia(10);
        Serie lost = new Serie("Lost", 2000);

        ArrayList<Titulo> lista = new ArrayList<>();
        lista.add(filmeDoCarlos);
        lista.add(meuFilme);
        lista.add(outroFilme);
        lista.add(lost);
        System.out.println("\n***** SAÍDA Utilizando o for-each ***** ");
        for (Titulo item: lista) {
            System.out.println(item.getNome());
            if (item instanceof Filme filme && filme.getClassificacao() > 2) {
                System.out.println("Classificação: " + filme.getClassificacao());
            }
        }

        ArrayList<String> buscaPorArtista = new ArrayList<>();
        buscaPorArtista.add("Adam Sandler");
        buscaPorArtista.add("Paulo");
        buscaPorArtista.add("Jacqueline");
        System.out.println(buscaPorArtista);

        Collections.sort(buscaPorArtista);
        System.out.println("Depois da ordenação: ");
        System.out.println(buscaPorArtista);
        System.out.println("Lista de Titulos Ordenados");
        Collections.sort(lista);
        System.out.println(lista);
        lista.sort(Comparator.comparing(Titulo::getAnoDeLancamento));
        System.out.println("Ordenando por ano");
        System.out.println(lista);
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade