Ссылки на методы при работе с коллекциями в Java
Коллекции и потоки часто принимают функциональные
интерфейсы. Если обработчик совпадает с уже
существующим методом, запись через ::
получается короче лямбды и лучше читается
в цепочках вызовов.
Список заголовков можно вывести через
forEach и ссылку на println.
Сортировка строк по алфавиту использует
String::compareToIgnoreCase. В потоке
заголовки приводят к верхнему регистру через
map:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> titles = new ArrayList<>(List.of(
"beta", "Alpha", "gamma"
));
titles.sort(String::compareToIgnoreCase);
titles.forEach(System.out::println);
List<String> upper = titles.stream()
.map(String::toUpperCase)
.toList();
System.out.println(upper);
}
}
System.out::println - ссылка на метод
конкретного объекта out. Компилятор
подставляет каждый элемент списка как аргумент
println.
Дан код:
var strings = List.of("post", "article", "note");
Отсортируйте его в естественном порядке, затем выведите каждый элемент отдельной строкой. После этого соберите список длин строк и выведите результат.