Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Desafio 4

// 1.

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

public class Main {
    public static void main(String[] args) {
        List<Integer> numeros = new ArrayList<>();
        numeros.add(5);
        numeros.add(2);
        numeros.add(9);
        numeros.add(1);

        Collections.sort(numeros);

        System.out.println("Lista ordenada de números inteiros:");
        System.out.println(numeros);
    }
}

//2

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

public class Main {
    public static void main(String[] args) {
        List<Titulo> titulos = new ArrayList<>();
        titulos.add(new Titulo("Código Limpo"));
        titulos.add(new Titulo("Padrões de Projeto"));
        titulos.add(new Titulo("Quebrando o Código"));
        titulos.add(new Titulo("Como Programar em Java"));

        Collections.sort(titulos);

        System.out.println("Lista ordenada de títulos:");
        for (Titulo titulo : titulos) {
            System.out.println(titulo.getNome());
        }
    }
}

// 3

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

public class Main {
    public static void main(String[] args) {
        List<Titulo> titulos = new ArrayList<>();
        titulos.add(new Titulo("Código Limpo"));
        titulos.add(new Titulo("Padrões de Projeto"));
        titulos.add(new Titulo("Quebrando o Código"));
        titulos.add(new Titulo("Como Programar em Java"));

        Collections.sort(titulos);

        System.out.println("Lista ordenada de títulos:");
        for (Titulo titulo : titulos) {
            System.out.println(titulo.getNome());
        }
    }
}

// 4

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

public class Main {
    public static void main(String[] args) {
        List<String> arrayList = new ArrayList<>();
        arrayList.add("Elemento 1");
        arrayList.add("Elemento 2");
        arrayList.add("Elemento 3");

        List<String> linkedList = new LinkedList<>();
        linkedList.add("Elemento 1");
        linkedList.add("Elemento 2");
        linkedList.add("Elemento 3");

        System.out.println("ArrayList:");
        System.out.println(arrayList);

        System.out.println("LinkedList:");
        System.out.println(linkedList);
    }
}

// 5

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

public class Main {
    public static void main(String[] args) {
        List<String> lista;

        lista = new ArrayList<>();
        lista.add("Elemento 1");
        lista.add("Elemento 2");
        lista.add("Elemento 3");

        System.out.println("ArrayList:");
        System.out.println(lista);

        lista = new LinkedList<>();
        lista.add("Elemento 1");
        lista.add("Elemento 2");
        lista.add("Elemento 3");

        System.out.println("LinkedList:");
        System.out.println(lista);
    }
}
1 resposta
solução!

Olá, Samil.

Tudo bem?

Muito obrigado por compartilhar a sua solução aqui com a gente.

Vamos analisar cada um dos seus códigos para ver se estão corretos e adequados às tarefas propostas:

  1. Ordenação de números inteiros com Collections.sort: Seu código está correto. Você criou uma lista de inteiros, adicionou alguns números e usou Collections.sort para ordená-los. Depois, você imprimiu a lista ordenada. Isso cumpre perfeitamente a tarefa de ordenar uma lista de números em ordem crescente.

  2. e 3. Criação da classe Titulo e ordenação usando Comparable: Para que o código funcione conforme esperado, você precisa garantir que a classe Titulo implemente a interface Comparable<Titulo>. Aqui está um exemplo de como você poderia implementar isso:

    public class Titulo implements Comparable<Titulo> {
        private String nome;
    
        public Titulo(String nome) {
            this.nome = nome;
        }
    
        public String getNome() {
            return nome;
        }
    
        @Override
        public int compareTo(Titulo outro) {
            return this.nome.compareTo(outro.nome);
        }
    }
    

    Com essa implementação, o método Collections.sort(titulos); funcionará como esperado, ordenando os títulos alfabeticamente.

  3. e 5. Uso de ArrayList e LinkedList com a interface List: Seus exemplos demonstram corretamente como você pode usar tanto ArrayList quanto LinkedList com a interface List. Isso mostra a flexibilidade do polimorfismo em Java, permitindo que você mude facilmente a implementação da lista sem alterar o resto do seu código. Seu código está correto e demonstra bem o conceito.

Parece que você está no caminho certo com suas implementações. Certifique-se de que a classe Titulo esteja implementando corretamente Comparable como mostrado acima para que a ordenação funcione como esperado.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.