Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> ws = new ArrayList<>(
List.of("pear", "banana", "fig", "apple"));
ws.sort(Comparator.comparing(String::length).reversed());
System.out.println(ws);
}
}[banana, apple, pear, fig]
- Ждать
[fig, pear, apple, banana]:reversed()возвращает компаратор с обратным порядком, поэтому первым идёт самое длинное слово. - Ждать, что список не изменится:
ws.sort(c)сортирует сам список и ничего не возвращает, так что копии, которую можно потерять, нет.
- Как дополнительно отсортировать слова одной длины по алфавиту?
- Почему
Comparator.comparing(w -> w.length()).reversed()не компилируется?