troll.log
로그인
troll.log
로그인
Lamda & Stream
yshjft
·
2023년 1월 2일
팔로우
0
Lamda
stream
0
Java, OOP
목록 보기
22/27
Lamda Expression(람다식, 익명 함수)
Lamda expression (람다식, 익명 함수)
메서드를 하나의 식으로 표현하는 것
간결한 인터페이스 인스턴스 생성 방식
함수형 인터페이스에서만 사용 가능하다.
람다식 참고
Functional Interface(함수형 인터페이스)
about 함수형 인터페이스
자바 8 제공 기본 함수형 인터페이스
Stream
데이터 소스를 추상화하고 데이터를 다루는데 자주 사용되는 메서드들을 정의해 놓은 것
데이터 소스를 추상화 == 데이터 소스의 종류와 상관 없이 동일한 방식으로 데이터를 처리할 수 있다.
재사용성을 향상 시킴
연산
중간 연산
계속적인 연산 가능
필터링 : filter
변환 : map
정렬 : sorted
최종 연산
단 한번만 사용 가능
출력 : foreach
수집 : collect
지연 연산
중간 연산은 최종 연산이 수행되어야 수행된다.(최종 연산이 수행되어야 스트림의 요소들이 중간 연산을 거쳐 최종 연산에서 소모된다.)
특징
immutable
데이터 소스를 변경하지 않는다. 처리된 결과를 새로운 배열 또는 Collection에 담아 반환한다.
일회용
사용하고 나면 스트림이 닫혀 다시 사용할 수 없다.
작업을 내부 반복으로 처리
반복문을 메서드 내부에 숨길 수 있는 “내부 반복” 사용
이 덕분에 작업이 간결하게 수행될 수 있다.
데이터 소스의 요소를 기본형으로 처리하는 스트림 제공
IntStream, LongStream, DoubleStream
오토박싱 & 언박싱으로 인한 비효율 줄일 수 있다.
병렬 Stream
기본적으로 스트림은 병렬로 처리하지 않는다.
하지만 필요에 따라 parallel()이라는 메서드를 호출하여 병렬로 처리할 수 있다. 이를 통해 보다 쉽게 병렬 처리를 할 수 있도록 도와준다.
IntStream
.
range
(
0
,
10
)
.
parallel
(
)
…
yshjft
꾸준히 나아가자 🐢
팔로우
이전 포스트
제네릭 메서드
다음 포스트
변수 초기화
0개의 댓글
댓글 작성