Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Contribuindo com a prática do desafio!


// Exercício 02 - Criar a classe Titulo
public class Titulo implements Comparable<Titulo> {
    private String nome;

    public Titulo(String nome) {

        this.nome = nome;
    }

    public String getNome() {

        return nome;
    }

    public void setNome(String nome) {

        this.nome = nome;
    }

    @Override
    public String toString() {
        return "Titulo{" +
                "nome='" + nome + '\'' +
                '}';
    }

    @Override
    public int compareTo(Titulo outroTitulo) {

        return this.getNome().compareTo(outroTitulo.getNome());
    }
}

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) {

        // Exercício 01 - Criar lista de núnmeros inteiros
        List<Integer> numeroInteiro = new ArrayList<>();
        numeroInteiro.add(3);
        numeroInteiro.add(7);
        numeroInteiro.add(2);
        numeroInteiro.add(4);
        numeroInteiro.add(6);
        numeroInteiro.add(1);
        numeroInteiro.add(5);
        // Exercício 01 - Imprimir lista na forma natural
        System.out.println("|---- Números cadastrados:----|");
        System.out.println(numeroInteiro);
        System.out.println();

        // Exercício 01 - Ordenar a lista
        Collections.sort(numeroInteiro);

        // Exercício 01 - Imprimir a lista ordenada de números
        System.out.println("|---- Números ordenados ----|");
        System.out.println(numeroInteiro);
        System.out.println();

        // Exercício 03 - Instanciar a classe Titulo
        Titulo titulo1 = new Titulo("O Poderoso Chefão");
        Titulo titulo2 = new Titulo("Vivos");
        Titulo titulo3 = new Titulo("The Matrix");
        Titulo titulo4 = new Titulo("Avatar");

        // Exercício 03 - Criar uma lista de titulos
        List<Titulo> listaTitulos = new ArrayList<>();
        listaTitulos.add(titulo1);
        listaTitulos.add(titulo2);
        listaTitulos.add(titulo3);
        System.out.println("|---- Titulos cadastrados ----|");
        System.out.println(listaTitulos);
        System.out.println();

        // Exercício 03 - Ordenar a lista de titulos
        Collections.sort(listaTitulos);

        // Exercício 03 - Imprimir a lista ordenada de titulos
        System.out.println("|---- Lista ordenada de titulos ----|");

        for (Titulo titulo : listaTitulos) {
            System.out.println(titulo.getNome());
        }
        System.out.println();

        // Exercício 04 - Criar uma lista utilizando a Interface List

        // Exercício 04 - Instaciar a lista utilizando a Interface ArrayList
        List<String> listaArrayList = new ArrayList<>();
        listaArrayList.add("Item 1");
        listaArrayList.add("Item 2");
        listaArrayList.add("Item 3");

        // Exercício 04 - Criar uma lista utilizando a Interface LinkedList
        List<String> listaLinkedList = new LinkedList<>();
        listaLinkedList.add("Item A");
        listaLinkedList.add("Item B");
        listaLinkedList.add("Item C");
        listaLinkedList.add("Item D");

        // Exercício 04 - Imprimir as listas listaArrayList e listaLinkedList

        System.out.println("|---- Lista ArrayList ----|");
        System.out.println(listaArrayList);
        System.out.println();

        System.out.println("|------ Lista LinkedLista ------|");
        System.out.println(listaLinkedList);
        System.out.println();

        // Exercício 05 - Declarar a variável de lista como a Interface de List (usando o polimorfismo)
        List<String> listaPoliformica;

        listaPoliformica = new ArrayList<>();
        listaPoliformica.add("Item 1");
        listaPoliformica.add("Item 2");
        listaPoliformica.add("Item 3");
        System.out.println("|---- listaPoliformica de ArrayList ----|");
        System.out.println(listaPoliformica); // Exemplo de Polimorfismo
        System.out.println();


        listaPoliformica = new LinkedList<>();
        listaPoliformica.add("Item A");
        listaPoliformica.add("Item B");
        listaPoliformica.add("Item C");
        System.out.println("|---- listaPoliformica de LinkedList ----|");
        System.out.println(listaPoliformica); // Exemplo de Polimorfismo
        System.out.println();
    }
}
2 respostas
solução!

Olá, Everaldo!

Vamos analisar juntos:

  1. Exercício 1 (Lista de Números Inteiros): Você criou a lista, adicionou elementos e ordenou corretamente utilizando o Collections.sort. A impressão também está correta. Tudo parece estar em ordem aqui.

  2. Exercício 2 (Classe Titulo): A classe Titulo foi bem implementada com o método compareTo usando o atributo nome. Isso permite que objetos Titulo sejam ordenados alfabeticamente pelo nome, o que é exatamente o que foi pedido.

  3. Exercício 3 (Uso da Classe Titulo): Você criou instâncias da classe Titulo, adicionou à lista e ordenou usando Collections.sort. A impressão dos títulos ordenados também foi realizada corretamente.

  4. Exercício 4 (Listas com ArrayList e LinkedList): Você demonstrou bem como criar listas usando ambas as implementações. No entanto, notei um pequeno equívoco: ao criar a listaLinkedList, você a instanciou como ArrayList ao invés de LinkedList. Isso é um erro comum e fácil de corrigir. Basta mudar para:

    List<String> listaLinkedList = new LinkedList<>();
    
  5. Exercício 5 (Polimorfismo com List): Você demonstrou corretamente o uso do polimorfismo ao declarar listaPoliformica como List e instanciá-la como ArrayList e LinkedList. Isso mostra flexibilidade no uso de diferentes implementações de List.

Em resumo, seu código está muito bem estruturado e cumpre os requisitos dos exercícios propostos. Apenas faça a correção mencionada no Exercício 4 para que tudo esteja perfeito.

Bons estudos!

Obrigado Lucas! Falta de atenção minha, ficarei mais atento.