1
resposta

Desafio [hora da prática]

Segue a resolução dos exercícios propostos.
Classe Titulo:

package desafio4;

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

    public String getNome() {
        return nome;
    }

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

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

    @Override
    public int compareTo(Titulo o) {
        return this.getNome().compareTo(o.nome);
    }

    @Override
    public String toString() {
        return "\nTitulo [" +
                "nome: " + nome + "]";
    }
}

Classe Main:

package desafio4;

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

public class Main {
    static void main(String[] args) {
        System.out.println("\nExercício 1: ");

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

        System.out.println("Lista antes da ordenação: " + inteiros);
        Collections.sort(inteiros);
        System.out.println("Lista depois da ordenação: " + inteiros);

        System.out.println("\nExercício 2 e 3: ");

        Titulo titulo1 = new Titulo("O Homem que desatava mirongas");
        Titulo titulo2 = new Titulo("O Homem Nu");
        Titulo titulo3 = new Titulo("O Homem de Lata");

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

        System.out.println("Lista de Títulos antes da ordenação: " + titulos);
        Collections.sort(titulos);
        System.out.println("Lista de Títulos depois da ordenação: " + titulos);

        System.out.println("\nExercício 4 e 5: ");
        List<Titulo> arrayListTitulos = new ArrayList();
        arrayListTitulos.add(titulo1);
        arrayListTitulos.add(titulo2);
        arrayListTitulos.add(titulo3);

        Collections.sort(arrayListTitulos);
        System.out.println("\nTipo de dado da Lista: " + arrayListTitulos.getClass().getName());
        System.out.println("Array de Títulos: " + arrayListTitulos);

        List<Titulo> linkedListTitulos = new LinkedList();
        linkedListTitulos.add(titulo1);
        linkedListTitulos.add(titulo2);
        linkedListTitulos.add(titulo3);
        Collections.sort(linkedListTitulos);
        System.out.println("\nTipo de dado da Lista: " + linkedListTitulos.getClass().getName());
        System.out.println("LinkedList de Títulos: " + linkedListTitulos);
    }
}

Output:

Exercício 1: 
Lista antes da ordenação: [5, 4, 3, 2, 1]
Lista depois da ordenação: [1, 2, 3, 4, 5]

Exercício 2 e 3: 
Lista de Títulos antes da ordenação: [
Titulo [nome: O Homem que desatava mirongas], 
Titulo [nome: O Homem Nu], 
Titulo [nome: O Homem de Lata]]
Lista de Títulos depois da ordenação: [
Titulo [nome: O Homem Nu], 
Titulo [nome: O Homem de Lata], 
Titulo [nome: O Homem que desatava mirongas]]

Exercício 4 e 5: 

Tipo de dado da Lista: java.util.ArrayList
Array de Títulos: [
Titulo [nome: O Homem Nu], 
Titulo [nome: O Homem de Lata], 
Titulo [nome: O Homem que desatava mirongas]]

Tipo de dado da Lista: java.util.LinkedList
LinkedList de Títulos: [
Titulo [nome: O Homem Nu], 
Titulo [nome: O Homem de Lata], 
Titulo [nome: O Homem que desatava mirongas]]

Process finished with exit code 0
1 resposta

Oi, Raoni! Como vai?

Agradeço por compartilhar.

Gostei da sua resolução, muito bom ver que você aplicou bem o Comparable na classe Titulo pra permitir a ordenação com o Collections.sort(), e ainda comparou o resultado em ArrayList e LinkedList, deixando o aprendizado bem completo com o output.

Siga nesse ritmo, porque entender ordenação e tipos de lista ajuda muito em projetos maiores.

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