본문 바로가기

Web/JAVA

[Stream]

728x90

 

개념은 공부해도 해도 해도 부족한 너낌..

 

 

Stream 

Java8 추가 기능으로 람다를 활용할 수 있음

(기존 방식은 컬렉션 프레임워크 또는 배열을 다룰 때 for문, foreach문 등을 이용했었음)

 

배열 또는 컬렉션 인터페이스의 클래스를 여러개 조합하여 원하는 결과를 도출해냄

 

스트림

1. 선언(생성)

2. 가공

3. 반환

 

 

 

특징

함수형 프로그래밍으로 간결하고 가독성을 높임

쉽게 병렬 처리를 수행할 수 있음

 

 

 

 

 

 

 

 

 

 

 

문자열 스트림

문자열 객체를 스트림으로 변환

 

 

 

 

 

CollectionStream

 

 

 

 

실제로는 Stream에서 필요한 데이터를 가져와 가공까지 해서 리턴시키는 경우가 대부분

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

스트림 가공하기

 

중간 처리 메소드

- filter

- peek

- map

- sorted

 

 

 

.findFirst() << 통과한 것중 하나만 찾는다

 

 

 

 

 

 

 

 

 

 

 

Entity -> Dto 로 변환시에 쓰면 매우 유용

 

내부적으로 Function << 을 사용하여 결과 리턴시켜줌

 

 

 

 

 

 

728x90

'Web > JAVA' 카테고리의 다른 글

[Java 17] 알아보기  (0) 2023.04.22
[Java LTS] Java 8, 11, 17  (0) 2023.04.22
[Optional]  (0) 2023.04.19
[effective java] 3판 요약 보면서 (2)  (0) 2023.04.18
[Functional Interface]  (0) 2023.04.18