스트림(stream)
- 자료의 대상과 관계 없이 동일한 연산을 수행
배열, 컬렉션을 대상으로 동일한 연산을 수행함
일관성 있는 연산으로 자료의 처리를 쉽고 간단하게 함
- 한번 생성하고 사용한 스트림은 재사용할 수 없음
자료에 대한 스트림을 생성하여 연산을 수행하면 스트림은 소모됨
다른 연산을 위해서는 새로운 스트림을 생성함
- 스트림 연산은 기존 자교를 변경하지 않음
자료에 대한 스트림을 생성하면 별도의 메모리 공간을 사용하므로 기존 자료르 변경하지 않음
- 스트림 연산은 중간 연산과 최종 연산으로 구분됨
스트림에 대해 중간 연산은 여러개 적용될 수 있지만 최종 연산은 마지막에 한 번만 적용됨
최종 연산이 호출되어야 중간연산의 결과가 모두 적용됨
이를 지연 연산이라고 함
스트림 생성하고 사용하기
- 정수 배열에 스트림 생성하고 사용하기
ArrayList 스크림 생성하고 사용하기
reduce() 연산
- 정의된 연산이 아닌 프로그래머가 직접 지정하는 연산을 적용
- 최종 연산으로 스트림의 요소를 소모하며 연산 수행
- 배열의모든 요소의 함을 구하는 reduce() 연산
- 두 번째 요고로 전달되는 람다식에 따라 다양한 기능을 수행
reduce() 연산 예제
'자바' 카테고리의 다른 글
[Java] 예외처리 (1) | 2023.01.15 |
---|---|
[Java] 백준 기초 8 (1) | 2023.01.08 |
[Java] 내부클래스, 람다식 (1) | 2023.01.08 |
[JAVA] 백준 기초 7 (1) | 2022.12.25 |
[JAVA] 컬렉션 프레임워크 (1) | 2022.12.25 |