Olá! Seguem os desafios. Gostaria, se possivel, uma explicação detalhada do número 5, pois só consegui fazer declarando o tipo de lista (Array ou Linked-List) no iníco de cada uma. Como faço para que no meu código ele compile apenas com a declaração List como no código do instrutor? Agradeço muito!
DESAFIO 1
package br.com.alura.Screenmatch7.um;
import java.util.ArrayList;
import java.util.Collections;
public class ODPrincipalUm {
public static void main(String[] args){
Numero numero1 = new Numero(5);
Numero numero2 = new Numero(8);
Numero numero3 = new Numero(4);
Numero numero4 = new Numero(2);
ArrayList<Numero> lista = new ArrayList<>();
lista.add(numero1);
lista.add(numero2);
lista.add(numero3);
lista.add(numero4);
Collections.sort(lista);
System.out.println(lista); }}
package br.com.alura.Screenmatch7.um;
public class Numero implements Comparable<Numero> {
int algarismo;
public Numero(int algarismo) {
this.algarismo = algarismo;}
public int getAlgarismo() {
return algarismo; }
@Override
public String toString() {
return "Número: " + this.getAlgarismo();}
@Override
public int compareTo(Numero outro) {
if (this.getAlgarismo() < outro.getAlgarismo()) {
return -1;
} else if (this.getAlgarismo() > outro.getAlgarismo()) {
return 1;
}else{
return 0; }}}
DESAFIO 2 E 3
package br.com.alura.Screenmatch7.doisEtres;
import java.util.ArrayList;
import java.util.Collections;
public class ODPrincipalDoiseTres {
public static void main(String[] args) {
Titulo titulo1 = new Titulo("SCREENMATCH");
Titulo titulo2 = new Titulo("ORDENANDO DADOS");
Titulo titulo3 = new Titulo("MÓDULO 4");
ArrayList<Titulo> listaTitulos = new ArrayList<>();
listaTitulos.add(titulo1);
listaTitulos.add(titulo2);
listaTitulos.add(titulo3);
System.out.println("Ordenados em sequência");
System.out.println(listaTitulos);
Collections.sort(listaTitulos);
System.out.println("Ordenados por ordem alfabética");
System.out.println(listaTitulos); }}
package br.com.alura.Screenmatch7.doisEtres;
public class Titulo implements Comparable<Titulo>{
private String nome;
public String getNome() {return nome;}
public Titulo(String nome){this.nome = nome;}
@Override
public String toString() {
return "TÍTULO: " + this.getNome();}
@Override
public int compareTo(Titulo outroTitulo) {
return this.getNome().compareTo(outroTitulo.getNome()); }
DESAFIO 4
package br.com.alura.Screenmatch7.quatro;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class ODPrincipalQuatro {
public static void main(String[] args) {
Lista nota1 = new Lista(8);
Lista nota2 = new Lista(7.5);
Lista nota3 = new Lista(5.8);
Lista nota4 = new Lista(9.5);
Lista nota5 = new Lista(6.5);
ArrayList<Lista> arrayNota = new ArrayList<>();
arrayNota.add(nota1);
arrayNota.add(nota2);
arrayNota.add(nota3);
arrayNota.add(nota4);
arrayNota.add(nota5);
System.out.println("ArrayList das notas");
System.out.println(arrayNota);
List<Lista> listnota = new LinkedList<>();
listnota.add(nota1);
listnota.add(nota2);
listnota.add(nota3);
listnota.add(nota4);
listnota.add(nota5);
System.out.println("List das notas");
System.out.println(listnota);}}
package br.com.alura.Screenmatch7.quatro;
public class Lista {
private double nota;
public Lista(double nota){this.nota = nota;}
public double getNota() {return nota;}
@Override
public String toString() {return "Nota: " + this.getNota();}}
DESAFIO 5
package br.com.alura.Screenmatch7.cinco;
import java.util.ArrayList;
import java.util.LinkedList;
public class ODPrincipalCinco {
public static void main(String[] args) {
ArrayList<String> ArrayPolimorfismo;
ArrayPolimorfismo = new ArrayList<>();
ArrayPolimorfismo.add("8");
ArrayPolimorfismo.add("7.5");
ArrayPolimorfismo.add("5.8");
ArrayPolimorfismo.add("9.5");
ArrayPolimorfismo.add("6.5");
System.out.println("ArrayList: " + ArrayPolimorfismo);
LinkedList<String> ListPolimorfismo;
ListPolimorfismo = new LinkedList<>();
ListPolimorfismo.add("8");
ListPolimorfismo.add("7.5");
ListPolimorfismo.add("5.8");
ListPolimorfismo.add("9.5");
ListPolimorfismo.add("6.5");
System.out.println("LinkedList: " + ListPolimorfismo)}