Onde esta o erro ai pois não esta imprimindo da String com menor Length para o maior...
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.function.Consumer;
public class Teste {
public static void main(String[] args) {
List<String> palavras = new ArrayList<>();
palavras.add("alura online");
palavras.add("casa do código");
palavras.add("caelum");
for (String p : palavras) {
System.out.println(p);
}
palavras.forEach(p -> System.out.println(p));
palavras.sort((s1,s2) -> s1.length() - s2.length());
palavras.sort(Comparator.comparing(s -> s.length()));
}
}