자바에서 컬렉션 스트림은 자바8에서 소개된 기능 중 하나이다. 이는 컬렉션에 함수형 프로그래밍 스타일의 연산을 수행할 수 있는 기능을 제공한다. 이를 통해 데이터 처리 작업을 더 간결하고 효율적으로 수행 할 수 있다.
- 매핑(Mapping) : 각 요소들 특정 기준에 따라 변환
- 필터링(Filtering) : 주어진 조건에 따라 요소를 필터링
- 정렬(Sorting) : 요소를 정렬
- 추출(Extracting) : 특정 조건에 맞는 요소를 추출
- 집계(Aggregating) : 요소들을 합계, 평균, 최대값, 최소값 등으로 집계
- 중간 연산 : 맵핑, 필터링, 정렬 등과 같이 스트림의 요소를 반환하거나 필터링하는 작업을 수행 중간 연산은 여러개 사용 가능
- 최종 연산 : 스트림의 최종 연산은 스트림의 요소를 소모하면서 최종 결과를 생성한다. 요소의 총합을 계산하는 것과 같은 작업이 여기에 해당
- 게으른 평가 : 스트림 연산은 게이른 평가 방식을 따른다. 이는 중간 연산을 수행할 때 실제로 요소를 처리하지 않고, 최종 연산이 호출될 때까지 기다린다. 이는 성능 향상을 가져올 수 있다.
오늘 과제를 하면서 사용 스트림이다.

여기서 peek 는 각요소를 하나씩 처리하면서 주어진 조건을 만족하는 경우에 해당하는 요소를 찾아서 점수를 변경한다.
toList() 는 최종적으로 변경된 요소들을 리스트로 반환한다.

여기서 noneMatch 는 스트림의 요소들 중에서 주어진 조건을 만족하는 요소가 없는지 검사한다 여기서 주어진 조건을 만족하는 요소가 없으면 true를 반환한다.
과제를 진행하면서 스트림을 활용했다. 처음에는 스트림을 사용하는 방법에 대해 생각이 잘 나지 않아서 여러 차례 검색을 하고 많은 오류들을 마주했다. 하지만 이러한 과정을 거치며 많은 것을 배우고 성장 할 수 있었다. 결국 스트림을 활용하여 코드를 작성하고 보니 코드의 간결성이 향상되는게 보기 좋았다.
오늘의 경험을 통해 얻은 성취감이 너무 좋았다.