junior
Как можно вывести на экран уникальные квадраты чисел используя метод map?
Для получения уникальных квадратов применяется комбинация map() (преобразование) и distinct() (удаление дубликатов):
Пример
Stream.of(1, 2, 3, 2, 1)
.map(n -> n * n)
.distinct()
.forEach(System.out::println); // 1, 4, 9
Порядок операций важен: сначала map() возводит каждое число в квадрат (1, 4, 9, 4, 1), затем distinct() удаляет повторяющиеся значения на основе метода equals(). Если поменять операции местами (distinct().map()), сначала удалятся дубликаты исходных чисел (1, 2, 3), а затем каждый будет возведён в квадрат — результат тот же, но в общем случае порядок может влиять на результат.
На собеседовании: это задача на понимание цепочки промежуточных операций. Будьте готовы объяснить, что произойдёт при другом порядке операций.