1
resposta

Desafio hora da pratica

import java.util.*;

public class CollectionsExemplo {
    public static void main(String[] args) {
        // Exercício 1: Ordenação de uma lista de números inteiros
        List<Integer> numeros = new ArrayList<>();
        numeros.add(5);
        numeros.add(2);
        numeros.add(8);
        numeros.add(1);
        numeros.add(9);
        Collections.sort(numeros);  // Ordena a lista em ordem crescente
        System.out.println("Lista de Números Ordenada: " + numeros);

        // Exercício 2: Ordenando objetos da classe Titulo
        List<Titulo> titulos = new ArrayList<>();
        titulos.add(new Titulo("Amor"));
        titulos.add(new Titulo("Alegria"));
        titulos.add(new Titulo("Tristeza"));
        titulos.add(new Titulo("Esperança"));
        Collections.sort(titulos);  // Ordena a lista usando o compareTo implementado na classe Titulo
        System.out.println("Lista de Títulos Ordenada: " + titulos);

        // Exercício 3 e 4: Uso da interface List com diferentes implementações

        // Instanciando a lista como ArrayList:
        List<String> listaArray = new ArrayList<>();
        listaArray.add("Elemento 1");
        listaArray.add("Elemento 2");
        listaArray.add("Elemento 3");
        System.out.println("Lista como ArrayList: " + listaArray);

        // Instanciando a lista como LinkedList:
        List<String> listaLinked = new LinkedList<>();
        listaLinked.add("Elemento A");
        listaLinked.add("Elemento B");
        listaLinked.add("Elemento C");
        System.out.println("Lista como LinkedList: " + listaLinked);
    }
}

// Classe Titulo que implementa Comparable para ordenação pelo atributo nome.
class Titulo implements Comparable<Titulo> {
    private String nome;

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

    public String getNome() {
        return nome;
    }

    // Define a ordem natural dos objetos Titulo comparando os nomes
    @Override
    public int compareTo(Titulo outroTitulo) {
        if (outroTitulo == null) {
            throw new NullPointerException("Comparação com objeto nulo não é permitida.");
        }
        return this.nome.compareTo(outroTitulo.nome);
    }

    @Override
    public String toString() {
        return nome;
    }
}
1 resposta

Oii, Rafael! Tudo certo por aí?

Obrigada por compartilhar sua solução com a gente aqui na comunidade Alura. Dá pra ver que você está mandando muito bem com listas e coleções em Java, seu código tá bem organizado, usa boas práticas e ainda cobre várias abordagens!

Muito bom ver você explorando ArrayList, LinkedList, Comparable e Collections.sort(), esse conhecimento é essencial pra trabalhar com dados de forma eficiente em Java.

Parabéns pelo resultado. Continue praticando e compartilhando com a galera.

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