Java Stream은 자바8에서 추가된 기능으로, collection요소들을 람다식으로 처리할 수 있는 기능을 제공합니다. stream을 사용하면 요소들을 필터링, 매핑, 정렬, 그룹화, 집계 등 다양한 작업을 수행할 수 있습니다.
stream은 크게 중간 연산과 최종 연산으로 구성됩니다. 중간 연산은 스트림을 반환하여 연속적으로 연산을 수행할 수 있도록 합니다. 최종 연산은 스트림을 닫아 더 이상 다른 작업을 수행할 수 없게 하며, 스트림에서 최종 결과를 반환합니다.
stream을 생성하기 위해서는 먼저 collection 객체를 생성해야 합니다. 그리고 이 collection 객체에서 stream() 메서드를 호출하여 스트림을 생성합니다.
List<String> list = Arrays.asList("apple", "banana", "orange");
Stream<String> stream = list.stream();
위 코드에서는 Arrays.asList() 메서드를 사용하여 List 객체를 생성하고, 이 객체에서 stream() 메서드를 호출하여 stream 객체를 생성합니다.
중간 연산은 스트림을 반환하여 연속적으로 연산을 수행할 수 있도록 합니다. stream에서 제공하는 대표적인 중간 연산 메서드는 다음과 같습니다.
최종 연산은 스트림을 닫아 더 이상 다른 작업을 수행할 수 없게 하며, 스트림에서 최종 결과를 반환합니다. stream에서 제공하는 대표적인 최종 연산 메서드는 다음과 같습니다.
예를 들어, 다음 코드는 filter 메서드를 사용하여 문자열의 길이가 5 이하인 요소만 걸러내고, map 메서드를 사용하여 대문자로 변환한 요소를 출력하는 예제입니다.
List<String> list = Arrays.asList("apple", "banana", "orange");
list.stream()
.filter(s -> s.length() <= 5)
.map(String::toUpperCase)
.forEach(System.out::println);
Concurrent Random Number (0) | 2024.09.24 |
---|---|
[자바 성능 튜닝] 성능 테스트 접근법 (0) | 2024.04.07 |
ThreadLocal (1) | 2024.02.28 |
JVM 메모리 관리 (0) | 2023.05.29 |
CompletableFuture get()과 join()의 차이점 (0) | 2023.05.02 |
댓글 영역