#255 Изменение объекта после фильтрации Stream

Компании:
Digital League
Темы:
JavaStream API и LambdaКод ревью

Что будет выведено на экран?

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {

    static class A {
        int a;

        A(int a) {
            this.a = a;
        }

        @Override
        public String toString() {
            return "{" + a + "}";
        }
    }

    public static void main(String[] args) {
        List<A> list1 = Arrays.asList(new A(1), new A(2));
        List<A> list2 = list1.stream()
                .filter(elem -> elem.a == 1)
                .collect(Collectors.toList());
        list2.get(0).a = 4;
        System.out.println(list1);
        System.out.println(list2);
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти