개발의 시작과 끝
2023.09.18 / 자바 스트림 본문
스트림(Stream)
- 자바 프로그래밍 언어의 기능 중 하나
- 컬렉션 데이터를 다루고 변환하는 데 사용되는 강력한 기능
- 데이터 처리를 함수형 방식으로 다룸.
- 코드를 간결하고 가독성 있게 작성할 수 있도록 도움.
- 주요 특징과 개념
- 데이터 소스 : 컬렉션, 배열, 파일 등 여러 종류.
- 파이프라이닝 : 중간 연산과 최종 연산으로 구성.
중간 연산은 스트림을 변환하고 필터링하며, 최종 연산은 최종 결과를 생성.
이러한 연산은 파이프라인을 형성. - 지연 평가(lazy evaluation) : 지연 평가를 사용하여 요청할 때만 요소를 처리.
메모리를 효율적으로 사용하고 불필요한 연산은 지양. - 스트림 연산 : 연산을 조합해 원하는 데이터 처리 작업 수행.
- 중간 연산 : filter(), map(), flatMap()
- 최종 연산 : forEach(), collect(), reduce()
- 병렬 처리 : 데이터가 큰 경우 멀티코어 CPU를 활용하여 작업 병렬 처리
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 스트림 생성
Stream<Integer> numberStream = numbers.stream();
// 중간 연산 - 짝수만 필터링
Stream<Integer> evenNumbers = numberStream.filter(n -> n % 2 == 0);
// 최종 연산 - 합계 계산
int sum = evenNumbers.reduce(0, (a, b) -> a + b);
System.out.println("짝수의 합: " + sum); // 출력: 짝수의 합: 30
참고
'IT 용어' 카테고리의 다른 글
2023.09.19 / 템플릿 엔진, 타임리프 (0) | 2023.09.19 |
---|---|
2023.09.18 / JPA, Hibernate, Spring Data JPA 차이 (0) | 2023.09.18 |
2023.09.16 / ORM (0) | 2023.09.16 |
2023.09.16 / API, 라이브러리, 프레임워크 (0) | 2023.09.16 |
2023.09.15 / 스프링 시큐리티(Spring Security) (0) | 2023.09.15 |