Titulo.java
package com.aluracursos.screenmatch.modelos;
public class Titulo implements Comparable<Titulo>{
private String nombre;
private int fechaDeLanzamiento;
private int duracionEnMinutos;
private boolean incluidoEnElPlan;
private double sumaDeLasEvaluaciones;
private int totalDelasEvaluaciones;
public Titulo(String nombre, int fechaDeLanzamiento) {
this.nombre = nombre;
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public void setDuracionEnMinutos(int duracionEnMinutos) {
this.duracionEnMinutos = duracionEnMinutos;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
public int getTotalDelasEvaluaciones(){
return totalDelasEvaluaciones;
}
public void muestraFichaTecnica(){
System.out.println("El nombre de la película es: " + nombre);
System.out.println("Su fecha de lanzamiento es: " + fechaDeLanzamiento);
System.out.println("Duración en minutos: "+ getDuracionEnMinutos());
}
public void evalua(double nota){
sumaDeLasEvaluaciones += nota;
totalDelasEvaluaciones++;
}
public double calculaMedia(){
return sumaDeLasEvaluaciones / totalDelasEvaluaciones;
}
@Override
public int compareTo(Titulo otroTitulo) {
return this.getNombre().compareTo(otroTitulo.getNombre());
}
}
PrincipalConListas.java
package com.aluracursos.screenmatch.principal;
import com.aluracursos.screenmatch.modelos.Pelicula;
import com.aluracursos.screenmatch.modelos.Serie;
import com.aluracursos.screenmatch.modelos.Titulo;
import java.util.*;
public class PrincipalConListas {
public static void main(String[] args) {
Pelicula miPelicula = new Pelicula("Encanto", 221);
miPelicula.evalua(9);
Pelicula otraPelicula = new Pelicula("Matrix", 1998);
otraPelicula.evalua(6);
var peliculaDeBruno = new Pelicula("Señor de los anillos", 2001);
peliculaDeBruno.evalua(10);
Serie casaDragon = new Serie("La casa del Dragón", 2022);
Pelicula pe1 = peliculaDeBruno;
List<Titulo> lista = new LinkedList<>();
lista.add(miPelicula);
lista.add(otraPelicula);
lista.add(peliculaDeBruno);
lista.add(casaDragon);
for (Titulo item: lista) {
System.out.println(item.getNombre());
if (item instanceof Pelicula pelicula && pelicula.getClasificacion() >3){
System.out.println(pelicula.getClasificacion());
}
}
ArrayList<String> listaDeArtistas = new ArrayList<>();
listaDeArtistas.add("Penélope Cruz");
listaDeArtistas.add("Antonio Banderas");
listaDeArtistas.add("Ricardo Darin");
System.out.println(listaDeArtistas);
Collections.sort(listaDeArtistas);
System.out.println("lista de artistas ordenada: " + listaDeArtistas);
Collections.sort(lista);
System.out.println("Lista ordenada de titulos: "+ lista);
lista.sort(Comparator.comparing(Titulo::getFechaDeLanzamiento));
System.out.println("Lista ordenada por fecha: " + lista);
}
}