Stream 2

[JAVA] 스트림(Stream) - 가공

자바 스트림이 생성되었다면 다음과 같은 중간 처리 혹은 가공 과정을 통해 우리가 원하는 결과값을 도출해내야 한다. 이 작업은 다시 Stream을 리턴하므로 여러 작업을 붙여(chaining) 복합적으로 사용할 수 있다. filter peek map sorted 위의 대표적인 처리 과정들을 하나씩 알아보자. Filter Filter 메소드는 스트림 요소(Collection)들을 필터링하기 위해 사용된다. 내부적으로는 Predicate를 사용하고 있으며 True 혹은 False로 리턴되는 조건을 입력하므로써 여과시켜주는 기능을 한다. ArrayList alphabet = new ArrayList(Arrays.asList("a", "b", "c")); alphabet.stream() .filter("b"::e..

Language/Java 2023.03.10

[JAVA] 스트림(Stream)

스트림(Stream)은 Java 8 버전에서 추가된 기능으로 람다를 활용할 수 있는 기능을 말한다. 기존에는 배열과 컬렉션 프레임워크를 다루기 위하여 for문과 foreach 등을 이용했지만 스트림이 추가됨으로써 배열과 컬렉션을 조합하여 원하는 결과를 바로 얻을 수 있다. 함수형 프로그래밍이기 때문에 비교적 간결하고 가독성이 좋아진다는 특징이 있고, 쉬운 병렬 처리를 수행할 수 있다. 또한, 최근 부각되고 있는 reactive programming에서 사용되는 reactor를 잘 사용하기 위해 스트림에 대한 이해가 필요하기 때문에 중요하다고 할 수 있다. 여기서 Reactor는 Reactive Streams 명세를 기반으로 하는 non-blocking 앱을 개발하기 위한 자바 라이브러리를 말한다.(Spr..

Language/Java 2023.03.03