Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

Haz como yo hice

  1. Clase Titulo implementando Comparable

Se implementa la interfaz Comparable para poder ordenar los títulos por nombre.

package com.alura.screenmatch.modelos;

public class Titulo implements Comparable {

private String nombre;
private int fechaDeLanzamiento;

public Titulo(String nombre, int fechaDeLanzamiento) {
    this.nombre = nombre;
    this.fechaDeLanzamiento = fechaDeLanzamiento;
}

public String getNombre() {
    return nombre;
}

public int getFechaDeLanzamiento() {
    return fechaDeLanzamiento;
}

@Override
public int compareTo(Titulo otroTitulo) {
    return this.getNombre().compareTo(otroTitulo.getNombre());
}

@Override
public String toString() {
    return "Titulo: " + this.getNombre() + " (" + this.getFechaDeLanzamiento() + ")";
}

}
2. Clase Serie sobrescribiendo toString()
package com.alura.screenmatch.modelos;

public class Serie extends Titulo {

public Serie(String nombre, int fechaDeLanzamiento) {
    super(nombre, fechaDeLanzamiento);
}

@Override
public String toString() {
    return "Serie: " + this.getNombre() + " (" + this.getFechaDeLanzamiento() + ")";
}

}
3. Clase Pelicula
package com.alura.screenmatch.modelos;

public class Pelicula extends Titulo {

public Pelicula(String nombre, int fechaDeLanzamiento) {
    super(nombre, fechaDeLanzamiento);
}

@Override
public String toString() {
    return "Pelicula: " + this.getNombre() + " (" + this.getFechaDeLanzamiento() + ")";
}

}
4. Clase PrincipalConListas

Aquí se crea la lista y se ordena con Collections.sort().

import java.util.ArrayList;
import java.util.Collections;
import com.alura.screenmatch.modelos.Pelicula;
import com.alura.screenmatch.modelos.Serie;
import com.alura.screenmatch.modelos.Titulo;

public class PrincipalConListas {

public static void main(String[] args) {

    Pelicula favorito = new Pelicula("El señor de los anillos", 2001);
    Pelicula otro = new Pelicula("John Wick", 2014);
    Serie serie = new Serie("La Casa de Papel", 2017);

    ArrayList<Titulo> lista = new ArrayList<>();
    lista.add(favorito);
    lista.add(otro);
    lista.add(serie);

    Collections.sort(lista);

    System.out.println(lista);
}

}