Stream 이 처리하는 데이터 소스 변경
407
작성한 질문수 8
안녕하세요 강의 정말 잘 듣고있습니다!
Stream 속성중에 2번쨰, 원본 데이터 소스는 변경하지 않는다고 레퍼런스에 적혀있어서 학습용도로 혼자 공부하면서 테스트해보았는데,
- Functional in nature. An operation on a stream produces a result, but does not modify its source.
정말 원본 데이터가 안바뀌는지 궁금해서 해보았습니다.
List<Food> foods = new ArrayList<>();
foods.add(new Food("Pizza",200));
foods.add(new Food("Bob",100));
foods.add(new Food("Chicken",400));
List<Food> result = foods.stream().map((food) -> {
food.setName("changed");
return food;
}).collect(Collectors.toList());
위 코드를 실행했을떄 collection내에 원본 객체들이 변경되지 않을거라고 생각했는데, 결과를 출력해보니 collection내 원본객체들이 모두 변경되어서 제가 뭔가 잘못 이해한 부분이 있는 것 같아서 질문드립니다
답변 3
CompletableFuture의 get 실행에 대해 궁금한 점이 있습니다
0
232
2
기본 인터페이스의 기본 제공 메서드 관련 질문 (왜 이걸 사용하는지)
0
517
2
static 과 metaspace 관련 질문있습니다.
0
708
0
Map의 가장 큰 특징이 key는 null이 아니다
0
2381
2
Optional 질문드립니다.
0
472
0
인텔리제이 콘솔창
0
581
0
Supplier를 쓰는 이유
0
1360
1
allOf()에서 컬렉션으로 반환하는 것을 설명할 때 코드
0
709
1
[참고] LTS주기
0
471
1
orElseThrow()
1
1087
2
findFirst함수
0
359
1
메서드 레퍼런스
1
478
1
primitive type 질문
0
303
1
FunctionalInterface 상속 관계 질문
0
293
1
함수형 인터페이스를 왜 사용하나요?
1
497
1
while문 세미콜론
0
432
1
flatMap Optional과 Stream에서의 차이점을 제가 잘 이해했는지 헷갈립니다!
0
408
1
람다식과 익명 클래스
0
321
1
steam api 예제 git 주소
3
785
1
thread.sleep질문
0
386
2
.orElse 매개변수 질문
0
265
1
isPresent( ) 와 null 질문
0
336
1
예제 코드 질문
2
290
1
코드 질문있습니다.
0
238
1





