1
resposta

Resolução da questão

Meu código ficou dessa forma.

package exercicios;

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

public class ExercicioOrdenaLista {

    public static void main(String[] args) {

        List<String> listaPalavras = new ArrayList<>();

        listaPalavras.add("ferro");
        listaPalavras.add("fogo");
        listaPalavras.add("flamengo");

        Comparator<String> comparador = new OrganizadorDeLista();
        listaPalavras.sort(comparador);

        Consumer<String> consumidor = new ImprimeListas();
        listaPalavras.forEach(consumidor);

    }

}

class ImprimeListas implements Consumer<String> {

    @Override
    public void accept(String t) {
        System.out.println(t);

    }

}

class OrganizadorDeLista implements Comparator<String>{

    @Override
    public int compare(String o1, String o2) {
        if(o1.length() < o2.length()) {
            return -1;
        }

        if(o1.length() > o2.length()) {
            return +1;
        }
        return 0;
    }

}
1 resposta

Oi Paulo!

Muito bom! Parabéns pelo empenho nos estudos!

Continue praticando e qualquer dúvida pode contar com a gente.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software