package com.somosego.screemmach.principal;
import com.somosego.screemmach.modelos.Pelicula;
import com.somosego.screemmach.modelos.Serie;
import com.somosego.screemmach.modelos.Titulo;
import java.util.*;
public class PrincipalConListas {
public static void main(String[] args) {
//Peliculas vistas
var pelicula = new Pelicula("El Justiciero", 2017,true);
pelicula.evalua(9);
var peliculaEduar = new Pelicula("Constantine",2005,true);
peliculaEduar.evalua(10);
var pelicula3 = new Pelicula("el origen",2012,true);
pelicula3.evalua(9);
//Pelicula p1 = peliculaEduar;
//Series vistas
var serie1 = new Serie("Los 100",2014,true);
serie1.evalua(9);
//Lista
ArrayList<Titulo> lista = new ArrayList<>();
lista.add(pelicula);
lista.add(pelicula3);
lista.add(peliculaEduar);
lista.add(serie1);
for (Titulo item : lista) {
System.out.println(item.getNombre());
if(item instanceof Pelicula pelicula2 && pelicula2.getClasificacion() > 2) {
System.out.println(pelicula3.getClasificacion());
}
}
List<String> listaArtistas = new LinkedList<>();
listaArtistas.add("penelope Cruz");
listaArtistas.add("Antonio bandera");
listaArtistas.add("Ricardo Darin");
System.out.println("lista de artista no ordenada: " + listaArtistas);
Collections.sort(listaArtistas);
System.out.println("Lista de artista ordenada: " + listaArtistas);
Collections.sort(lista);
System.out.println("lista de titulos: " + lista);
lista.sort(Comparator.comparing(Titulo :: getFechaDeLanzamiento));
System.out.println("ordenado por fecha " + lista);
}
}
package com.somosego.screemmach.modelos;
public class Titulo implements Comparable<Titulo>{
private String nombre;
private int fechaDeLanzamiento;
private int duracion;
private boolean incluidoEnElPlan;
private double sumaDeEvaluaciones,totalDeEvaluaciones;
public Titulo(String nombre, int fechaDeLanzamiento, boolean incluidoEnElPlan) {
this.nombre = nombre;
this.fechaDeLanzamiento = fechaDeLanzamiento;
this.incluidoEnElPlan = incluidoEnElPlan;
}
public double getTotalDeEvaluaciones() {
return totalDeEvaluaciones;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public int getDuracion() {
return duracion;
}
public void setDuracion(int duracion) {
this.duracion = duracion;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
public double getSumaDeEvaluaciones() {
return sumaDeEvaluaciones;
}
public void setSumaDeEvaluaciones(double sumaDeEvaluaciones) {
this.sumaDeEvaluaciones = sumaDeEvaluaciones;
}
public void setTotalDeEvaluaciones(double totalDeEvaluaciones) {
this.totalDeEvaluaciones = totalDeEvaluaciones;
}
public void muestraFichaTecnica(){
System.out.println("Nombre " + getNombre());
System.out.println("Lanzada el " + getFechaDeLanzamiento());
System.out.println("Duracion en minutos " + getDuracion());
}
public void evalua(double nota) {
sumaDeEvaluaciones += nota;
totalDeEvaluaciones++;
}
public double calcularMedia(){
return sumaDeEvaluaciones / totalDeEvaluaciones;
}
@Override
public int compareTo(Titulo otroTitulo) {
return this.getNombre().compareTo(otroTitulo.getNombre());
}
}