본문 바로가기
JAVA

Java Stream알아보기

by 봄석 2019. 9. 1.

Java Stream

JavaStream이란 ?

Java8 부터 추가된 기능으로 ,"컬렉션, 배열등의 저장 요소를 하나씩 참조하며 함수형 인터페이스(람다식)를 적용하며 반복적으로 처리할 수 있도록 해주는 기능"입니다. (InputStream, OutputStream같은 I/O Stream이 아닙니다)

Java 8 이전에는 배열또는 컬렉션 인스턴스를 다룰때  for 문 ,foreach문을 돌면서 하나씩 꺼내서 다루어야했었습니다.

이런방법은 로직이 복잡해질수록 양이 많아져 힘들게됩니다.

 

스트림이란 '데이터의흐름'입니다. 배열 또는 컬렉션 인스턴스에 함수 여러개를 조합하여 원하는

결과를 필터링 하고 가공된 결과를 얻을 수 있습니다. 그리고 람다를 이용하여 코드양을 줄이고 간단하게 표현가능합니다.

한마디로 , 함수형으로 처리가능하게됩니다.

 

또 다른 장점으로 간단하게 병렬처리가 가능합니다. 

하나이상의 작업을 둘이상의 작업으로 나눠서 동시에 진행하는 것을 병렬 처리 라고합니다.

쓰레드를 이용하여 많은 요소를 빠르게 처리 할 수 있습니다.

 

 

 

Stream사용하기

스트림 사용법은 크게 3개로 나눌 수 있습니다.

  1. 생성하기
  2. 가공하기(중개연산)
  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

댓글