자바

[Java] 스트림

코딩하는둥이 2023. 1. 8. 17:10

스트림(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