❣️스트림이란?
여러 자료의 처리에 대한 기능을 구현해 놓은 클래스
❣️스트림 특징
💌 자료의 대상과 관계없이 동일한 연산을 수행한다.
💌 한번 생성하고 사용한 스트림은 재사용할 수 없다.
💌 스트림의 연산은 기존 연산은 기존 자료를 변경하지 않는다.
💌 스트림의 연산은 중간 연산과 최종 연산이 있다.
❣️스트림 연산
💌중간 연산
자료를 거르거나 변경하여 또 다른 자료를 내부적으로 생산함
몇개 연속 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() 등등
'💾 Backend > 자바' 카테고리의 다른 글
💞모듈/패키지💞 (0) | 2023.06.09 |
---|---|
💖자바 내부 클래스💖 (1) | 2023.06.02 |
💕자바 탐구 - 배틀게임 제작💕 (2) | 2023.05.28 |
💗자바 ArrayList 클래스💗 (1) | 2023.05.26 |
💖자바 컬렉션 🎞🚶♀️프레임워크💖 (1) | 2023.05.24 |