2021. 8. 31. 15:50ㆍDev/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' 카테고리의 다른 글
#Spring Structure- Controller, Service, Domain(Model), DTO, Persistance 알아보기 (0) | 2021.08.22 |
---|---|
Java Annotation (0) | 2021.06.28 |
Abstract Class , Interface (0) | 2021.06.26 |
Java의 기본 개념 정리 (0) | 2021.06.26 |