Gymterview
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), а затем каждый будет возведён в квадрат — результат тот же, но в общем случае порядок может влиять на результат.

На собеседовании: это задача на понимание цепочки промежуточных операций. Будьте готовы объяснить, что произойдёт при другом порядке операций.