Usei o metodo reference como a questão pediu, mas prefiro usar o lambda, pois deixa o código claro claro.
package exercicios;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import static java.util.Comparator.comparing;
public class ExercicioOrdenaLista {
public static void main(String[] args) {
List<String> listaPalavras = new ArrayList<>();
listaPalavras.add("ferro");
listaPalavras.add("fogo");
listaPalavras.add("flamengo");
//listaPalavras.sort((o1, o2) -> Integer.compare(o1.length(), o2.length()));
//listaPalavras.sort(Comparator.comparing(s -> s.length()));
//listaPalavras.sort(Comparator.comparing(String::length));
listaPalavras.sort((String s1, String s2) -> s1.compareTo(s2));
listaPalavras.forEach(consumidor -> System.out.println(consumidor));
System.out.println("----------------");
listaPalavras.forEach(System.out::println);
new Thread(() -> System.out.println("Executando uma Runnable")).start();
}
}