JAVA : Stream?

2021. 8. 31. 15:50Dev/Java

Stream?

JAVA8 부터 추가된 내용으로, Collection을 쉽게 다른 형태로 변환할 수 있게 해준다.

예를 들면, JavaScript의 Array.map 함수나 Array.filter 함수를 통해 새로운 형태의 배열이나 자료구조를 만드는 것처럼, Stream을 통해  새로운 컬렉션으로 반환하거나, 만들 수 있게 해준다.

더 와닿는 장점으로는, Lambda식을 통해 더 간결하게 컬렉션을 변화시킬 수 있다.

 

Stream Method

* filter : 말 그대로 filter 과정을 거쳐, 해당하는 조건을 만족하는 값들만 반환한다. 매개변수로, filter를 적용할 람다 함수를 인자로 받는다.

List<CollectionA> lst;	//원래 형태의 리스트

//결과 : 이름 중 ks를 포함하는 값들만 리스트로
List<CollecionA> result = lst.stream().filter(a -> a.getName().contains('ks')).collect(Collectors.toList());

 

* map : stream을 다른 형태로 매핑한다. 

List<CollectionA> lst;	//원래의 List

//새로 Mapping할 List
List<CollectionADTO.Response> result = lst.stream().map(CollectionADTO.Response::of).collect(Collectors.toList());

 

그 외 여러가지가 있다.

 


ref : https://futurecreator.github.io/2018/08/26/java-8-streams/

 

Java 스트림 Stream (1) 총정리

이번 포스트에서는 Java 8의 스트림(Stream)을 살펴봅니다. 총 두 개의 포스트로, 기본적인 내용을 총정리하는 이번 포스트와 좀 더 고급 내용을 다루는 다음 포스트로 나뉘어져 있습니다. Java 스트

futurecreator.github.io

https://futurecreator.github.io/2018/08/26/java-8-streams-advanced/

 

Java 스트림 Stream (2) 고급

이전 포스트에 이어서 Java 8의 스트림(Stream)을 살펴봅니다. 자바 8 스트림은 총 두 개의 포스트로, 기본적인 내용을 총정리하는 이전 포스트와 좀 더 고급 내용을 다루는 이번 포스트로 나뉘어져

futurecreator.github.io

 

'Dev > Java' 카테고리의 다른 글