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

[Projeto] Desafio resolvido

package desafio.listas;

import java.util.Comparator;

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

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

    public String getNome() {
        return nome;
    }

    @Override
    public String toString() {
        return """
                Titulo: %s""".formatted(this.getNome());
    }

    @Override
    public int compareTo(Titulo outroTitulo) {
        return this.getNome().compareTo(outroTitulo.getNome());
    }
}
package desafio.listas;

import desafio.listas.Titulo;

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

public class ListasDesafio {
    public static void main(String[] args) {
        ArrayList<Integer> numerosInteiros = new ArrayList<Integer>(List.of(2,3,1,6,4,8,10));
        Collections.sort(numerosInteiros);
        System.out.println(numerosInteiros);

        Titulo t1 = new Titulo("Titulo5");
        Titulo t2 = new Titulo("Titulo1");
        Titulo t3 = new Titulo("Titulo4");

        ArrayList<Titulo> listaTitulos = new ArrayList<>(List.of(t1, t2, t3));
        Collections.sort(listaTitulos);
        System.out.println(listaTitulos);

        // Exercicio 4 e 5 resolvidos abaixo, usando o polimosfirmo e re-instanciando novamente como de ArrayList -> LinkedList
        List<String> strings = new ArrayList<>(List.of("Texto1", "Texto2", "Texto3", "Texto4"));
        strings = new LinkedList<>(List.of("Texto1", "Texto2", "Texto3"));
        System.out.println(strings);
    }
}

Resultado Esperado:

[1, 2, 3, 4, 6, 8, 10]
[Titulo: Titulo1, Titulo: Titulo4, Titulo: Titulo5]
[Texto1, Texto2, Texto3]
2 respostas

Oi, Aldeny! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.

Ficou bem legal ver você implementando Comparable<Titulo> para ordenar pelos nomes, e usando Collections.sort() tanto para Integer quanto para a sua lista de Titulo, chegando exatamente no resultado esperado.

Uma dica interessante para o futuro é ordenar sem depender do Comparable, usando Comparator.comparing, o que deixa a regra de ordenação mais explícita e fácil de trocar quando precisar. Veja este exemplo:


import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

ArrayList lista = new ArrayList<>(List.of(
  new Titulo("Titulo5"),
  new Titulo("Titulo1"),
  new Titulo("Titulo4")
));

lista.sort(Comparator.comparing(Titulo::getNome));

System.out.println(lista);

Esse código ordena a lista pelo getNome e imprime os títulos na ordem alfabética.

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

Oiee Rafaela, tudo bem por aqui.
Agradeço a analise e orientações, ja deixei anotado para implementar em novos desafios.