package br.com.screenmatch.Principal;
import br.com.screenmatch.modelos.Serie;
import br.com.screenmatch.modelos.Titulo;
import br.com.screenmatch.modelos.Filme;
import java.util.ArrayList;
import java.util.Collections;
public class PrincipalLista {
public static void main(String[] args) {
Filme meuFilme = new Filme(" Poderoso chefão", 1970);
meuFilme.avalia(9);
Filme outroFilme = new Filme("Amor as cegas", 1990);
outroFilme.avalia(8);
Filme terceiroFilme = new Filme("Dogville", 1995);
terceiroFilme.avalia(7);
Serie lost = new Serie("Lost", 2024);
ArrayList<Titulo> lista = new ArrayList<>();
lista.add(meuFilme);
lista.add(outroFilme);
lista.add(terceiroFilme);
lista.add(lost);
for(Titulo item: lista){
System.out.println(item.getNome());
if (item instanceof Filme filme && filme.getClassificacao() > 2){
System.out.println("Classificaçao: " + filme.getClassificacao());
}
}
ArrayList<String> buscarPorArtista = new ArrayList<>();
buscarPorArtista.add("Adam Sandler");
buscarPorArtista.add("Paulo Oliveira");
buscarPorArtista.add("Jaccqueline Horana");
//System.out.println(buscarPorArtista);
Collections.sort(buscarPorArtista);
System.out.println("Despois da ordenação");
System.out.println(buscarPorArtista);
System.out.println("Lista de titulos ordenados: ");
Collections.sort(lista);
System.out.println(lista);
}
}
package br.com.screenmatch.modelos;
import org.jetbrains.annotations.NotNull;
public class Titulo implements Comparable<Titulo> {
private String nome;
private int anoDeLancamento;
private boolean incluidoNoPlano;
private double somaDasAvaliacoes;
private int totalDeAvaliacao;
private int DuracaoEmMinutos;
public Titulo(String nome, int ano){
this.nome = nome;
this.anoDeLancamento = ano;
}
public String getNome() {
return nome;
}
public int getAnoDeLancamento() {
return anoDeLancamento;
}
public int getTotalDeAvaliacao(){
return totalDeAvaliacao;
}
public boolean isIncluidoNoPlano() {
return incluidoNoPlano;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setDuracaoEmMinutos(int duracaoEmMinutos) {
DuracaoEmMinutos = duracaoEmMinutos;
}
public void setIncluidoNoPlano(boolean incluidoNoPlano) {
this.incluidoNoPlano = incluidoNoPlano;
}
public int getDuracaoEmMinutos() {
return DuracaoEmMinutos;
}
public void setAnoDeLancamento(int anoDeLancamento) {
this.anoDeLancamento = anoDeLancamento;
}
public void exibeFichaTecnica(){
System.out.println("Nome: " + nome);
System.out.println("Ano de lançamento: " + anoDeLancamento);
System.out.println("Avaliação: " + somaDasAvaliacoes);
System.out.println("Incluido no plano: " + incluidoNoPlano);
System.out.println("Duração em minutos: "+ DuracaoEmMinutos);
System.out.println("Total de avaliação: " + totalDeAvaliacao);
}
public void avalia(double nota){
somaDasAvaliacoes = somaDasAvaliacoes + nota;
totalDeAvaliacao = totalDeAvaliacao + 1;
}
public double pegaMedia(){
return somaDasAvaliacoes/totalDeAvaliacao;
}
@Override
public int compareTo(@NotNull Titulo titulo) {
return this.getNome().compareTo(titulo.getNome());
}
}
Não esta ordenando o lista de titulo