[Java] 자바 스트림(Stream) 사용법 및 예제
- 코딩/Java
- 2020. 11. 23.
[Java] 자바 스트림 사용법 및 예제 알아보기
Java 8부터 추가된 스트림(Stream)은 자바 컬렉션을 처리하는 기능을 제공합니다. 스트림은 간결하고 가독성이 좋은 코드를 작성할 수 있으며, 병렬 처리를 지원하여 대용량 데이터를 처리할 때 성능을 향상시킬 수 있습니다.
스트림이란?
- 람다식을 사용하여 간결하게 코드를 작성할 수 있습니다.
- 중간 연산과 최종 연산으로 구성되어 있습니다.
- 지연 연산을 지원하여 필요한 시점까지 연산을 미룰 수 있습니다.
- 병렬 처리를 지원하여 대용량 데이터를 처리할 때 성능을 향상시킬 수 있습니다.
사용법 및 예제
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamExample {
public static void main(String[] args) {
List<String> words = Arrays.asList("Java", "is", "a", "programming", "language");
// 필터링
List<String> filteredWords = words.stream()
.filter(s -> s.length() > 2)
.collect(Collectors.toList());
System.out.println(filteredWords); // [Java, programming, language]
// 매핑
List<Integer> wordLengths = words.stream()
.map(String::length)
.collect(Collectors.toList());
System.out.println(wordLengths); // [4, 2, 1, 11, 8]
// 정렬
List<String> sortedWords = words.stream()
.sorted()
.collect(Collectors.toList());
System.out.println(sortedWords); // [Java, a, is, language, programming]
// 리듀싱
int totalLength = words.stream()
.mapToInt(String::length)
.sum();
System.out.println(totalLength); // 26
}
}
위 예제에서는 Arrays.asList() 메서드를 사용하여 문자열 리스트를 생성합니다. 그리고 stream() 메서드를 사용하여 스트림을 생성합니다. 이후 필터링, 매핑, 정렬, 리듀싱 등의 중간 연산과 최종 연산을 사용하여 스트림을 처리합니다. 위 예제에서는 간단한 예제를 보여주기 위해 컬렉션에 대한 스트림을 생성하였지만, 파일, 네트워크 등 다양한 소스에 대한 스트림을 생성할 수 있습니다.
'코딩 > Java' 카테고리의 다른 글
[JAVA] 문자열 찾기 (Contains, IndexOf, Matches) (0) | 2020.12.11 |
---|---|
[JAVA/JSP] 세션 시간 설정 (0) | 2020.12.03 |
[JAVA] OPERATOR 논리 연산자 설명과 예제 (0) | 2020.03.15 |
[JAVA] OPERATOR 삼항 연산자 사용 방법 및 예제 (0) | 2020.03.14 |
[JAVA] 자바 Constant 상수 예시 (0) | 2020.03.13 |