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;
}
}