dev.Log

Stream 본문

BACKEND.*/JAVA

Stream

초코푸딩 2022. 10. 8. 12:14

JS에서 Stream : 데이터 처리 연산을 지원하도록 소스에서 추출된 연속값 요소

JAVA에서 Stream : 컬렉션의 요소를 하나씩 참조해 람다식으로 처리할 수 있는 반복자

 

* 자료구조가 포함하는 모든 값을 메소드에 포함하는 컬렉션과 다르게

스트림은 요청할 때만 요소를 계산하는 고정된 자료구조를 가진다.

스트림은 특정연산자를 사용할 때 여러 개의 조건이 중첩된 상황에서 값이 결정나면 불필요한 연산을 진행하지 않고 조건문을 빠져나와 실행속도를 높인다.  

 

파이프라이닝!

1. 스트림생성 : 컬렉션을 스트림으로 만들어준다.

2. 중간연산 : filter or map

3. 최종연산 : collect

 

sorted메소드를 사용하면 루프 퓨전 : filter -> filter -> sorted -> map -> sorted -> map

 

flatMap : 중복된 스트림을 1차원으로 평면화시킴..

 

reduce

'BACKEND.* > JAVA' 카테고리의 다른 글

전략 패턴  (0) 2024.05.31
템플릿 메서드 패턴  (0) 2024.05.31
동시성제어 - ThreadLocal  (0) 2024.05.29
Virtual Thread vs Thread  (1) 2024.04.10
Spring vs SpringBoot  (0) 2022.10.08
Comments