본문 바로가기
💾 Backend/자바

💖자바 스트림💖

by 정람지 2023. 6. 2.

❣️스트림이란?

여러 자료의 처리에 대한 기능을 구현해 놓은 클래스


❣️스트림 특징

💌 자료의 대상과 관계없이 동일한 연산을 수행한다.

 

💌 한번 생성하고 사용한 스트림은 재사용할 수 없다.

 

💌 스트림의 연산은 기존 연산은 기존 자료를 변경하지 않는다.

 

💌 스트림의 연산은 중간 연산과 최종 연산이 있다.

 


❣️스트림 연산

💌중간 연산

자료를 거르거나 변경하여 또 다른 자료를 내부적으로 생산함

몇개 연속 ok

 

♥️filter()

조건이 참인 경우 추출

자료구조.stream().filter(s -> 조건).최종연산
//스트림 생성       중간 연산

♥️map()

클래스가 가진 자료 중 이름만 출력하는 경우 사용

자료구조.stream().map(s -> 조건).최종연산
//스트림 생성       중간 연산

 

💌최종 연산

생성된 내부 자료를 소모해 가면서 연산을 수행함

(최종 연산이 호출되어야 중간 연산의 결과가 만들어짐

 

♥️forEach()

요소를 하나씩 꺼내는 기능

자료구조.stream().중간 연산.forEach(s -> System.out.println(s));
//스트림 생성                    최종 연산

♥️count()

배열 요소의 개수를 알아내는 기능

자료구조.stream(arr).count();

♥️sum()

배열 요소의 합계를 구하는 기능

자료구조.stream(arr).sum();

♥️reduce()

스트림의 요소를 하나씩 소모하며 프로그래머가 지정한 기능을 수행함

T reduce(T  identify, BinaryOperator<T>, accumlator)
//어렵..

 

 

♥️max(), ♥️min(), ♥️average() 등등