Java Stream
JavaStream이란 ?
Java8 부터 추가된 기능으로 ,"컬렉션, 배열등의 저장 요소를 하나씩 참조하며 함수형 인터페이스(람다식)를 적용하며 반복적으로 처리할 수 있도록 해주는 기능"입니다. (InputStream, OutputStream같은 I/O Stream이 아닙니다)
Java 8 이전에는 배열또는 컬렉션 인스턴스를 다룰때 for 문 ,foreach문을 돌면서 하나씩 꺼내서 다루어야했었습니다.
이런방법은 로직이 복잡해질수록 양이 많아져 힘들게됩니다.
스트림이란 '데이터의흐름'입니다. 배열 또는 컬렉션 인스턴스에 함수 여러개를 조합하여 원하는
결과를 필터링 하고 가공된 결과를 얻을 수 있습니다. 그리고 람다를 이용하여 코드양을 줄이고 간단하게 표현가능합니다.
한마디로 , 함수형으로 처리가능하게됩니다.
또 다른 장점으로 간단하게 병렬처리가 가능합니다.
하나이상의 작업을 둘이상의 작업으로 나눠서 동시에 진행하는 것을 병렬 처리 라고합니다.
쓰레드를 이용하여 많은 요소를 빠르게 처리 할 수 있습니다.
Stream사용하기
스트림 사용법은 크게 3개로 나눌 수 있습니다.
- 생성하기
- 가공하기(중개연산)
- 결과만들기(최종연산)
1. 생성하기
- 배열 , 컬렉션, 빈스트림
- Stream.builder() , Stream.generate() , Stream.iterate()
- 기본타입형 , String , 파일스트림
- 병렬스트림, 스트림연결하기
2. 가공하기(중개연산)
- Filtering
- Mapping
- Sorting
- Iterating
3. 결과만들기
- Calculating
- Reduction
- Collecting
- Matching
- Iterating
'JAVA' 카테고리의 다른 글
Java - 메모리관리 ( 스택& 힙) [펌] (0) | 2019.09.01 |
---|---|
Primitive vs Reference (0) | 2019.09.01 |
Java Stream 결과 만들기 (0) | 2019.09.01 |
Java Stream 가공하기 (0) | 2019.09.01 |
Java Stream 생성하기 (0) | 2019.09.01 |
댓글