1
resposta

Exite problema em fazer desta maneira que eu fiz?

Antes do desenrolar da solução para ordenar os nomes que estão dentro da lista, eu fiz a minha solução:

    ArrayList<String> buscaPorTitulo = new ArrayList<>();
    
    lista.forEach(item -> buscaPorTitulo.add(item.getNome()));
    
    Collections.sort(buscaPorTitulo);
    System.out.println(buscaPorTitulo);

Para o objetivo em específico, que seria ordernar os nomes que estão dentro da lista, essa minha solução funcionou. Gostaria de saber se essa lógica é adquada e, se não for, por qual motivo?

1 resposta

Luis, boa tarde.

Para você conseguir fazer com que uma classe ela pode ser feita a ordenação, primeiro que você precisa na sua classe implementar a Interface Comparable<*Nome da sua classe aqui*>

Após isso como a interface ela é um "contrato" você tera que implementar o metodo compareTo e nesse metodo você coloca o que você quer ordenar. Exemplo abaixo ordenando por um valor de Produtos:

@Override
    public int compareTo(Produtos o) {
        return Double.valueOf(this.valor).compareTo(o.getValor());
    }