1
resposta

Desafio: hora da prática

package Desafio8;

import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class Principal{
    public static void main(String[] args) {
        //atividade 1

        List num = new ArrayList();
        num.add(5);
        num.add(4);
        num.add(3);
        num.add(2);
        num.add(1);

        System.out.println("numeros antes: " + num);
        Collections.sort(num);
        System.out.println("Ordenado: " + num);

        //atividade 2 e 3
        Titulo titulo1 = new Titulo("Guerra Infinita", "Marvel Studios");
        Titulo titulo2 = new Titulo("Pequeno Principe", "Antoine de Saint-Exupéry");

        ArrayList<Titulo> titular = new ArrayList<>();
        titular.add(titulo1);
        titular.add(titulo2);

        System.out.println("antes: " + titular);
        Collections.sort(titular);
        System.out.println("Ordenado: " + titular);

        //atividade 4 e 5
        List<Titulo> lista = new ArrayList<>();
        lista.add(titulo1);
        lista.add(titulo2);

        Collections.sort(lista);
        System.out.println("Tipo da lista: " + lista.getClass().getName());
        System.out.println("Array da lista: " + lista);

        List<Titulo> lista2 = new LinkedList<>();
        lista2.add(titulo1);
        lista2.add(titulo2);

        Collections.sort(lista2);
        System.out.println("Tipo da lista: " + lista2.getClass().getName());
        System.out.println("Linked da lista: " + lista2);

    }
}
package Desafio8;

public class Titulo implements Comparable<Titulo>{
    private String nome;
    private String autor;

    public Titulo(String nome, String autor) {
        this.nome = nome;
        this.autor = autor;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public String toString() {
        return "Nome: " + this.getNome() + ", Autor: " + this.getAutor();
    }

    @Override
    public int compareTo(Titulo o) {
        return this.getNome().compareTo(o.nome) + this.getAutor().compareTo(o.autor);
    }
}
1 resposta

Oi, Alfredo! Como vai?

Com base no que você explicou, chamou atenção como você aplicou Collections.sort() tanto em listas simples quanto em listas de objetos, além de testar ArrayList e LinkedList. Sua implementação do Comparable na classe Titulo mostra um bom entendimento de ordenação personalizada e organização do código.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!