728x90
스트림(Stream)
- 배열,컬렉션 등의 데이터를 하나씩 참조하여 처리가능한 기능
- for문의 사용을 줄여 코드 간결화
- 주로 배열,컬렉션을 사용할땐 for 또는 foreach 문을 돌면서 요소 하나씩 꺼냄
- 코드의 양이 많아져 여러 로직이 섞이게 되고, 여러 루프를 타는경우 발생
- 스트림은 배열 또는 컬렉션 인스턴스에 함수들을 조합해서 가공된 결과 얻음.
- 즉, 배열과 컬렉션을 함수형으로 처리
스트림 구성
- 크게 3가지로 구성
- Stream 생성
- 중개 연산
- 최종 연산
데이터소스객체.Stream생성().중개연산().최종연산()
스트림 생성
- 배열 스트림
String[] arr = new String[]{"A","B","C"}; Stream stream = Arrays.stream(arr);
- 컬렉션 스트림
ArrayList list = new ArrayList(Arrays.asList(1,2,3)); Stream stream = list.stream();
- builder, generate, iterate, IntStream
주요 중개연산
Filtering
- filter 내부조건에 참인 요소들을 추출
IntStream ints = IntStream.range(1,10).filter(n->n%2==0); //2 4 6 8
- Mapping
- map 안의 연산을 요소별 수행
- 즉 연산을 통해 모든 요소별 값을 변환
IntStream ints = IntStream.range(1,10).map(n->n+1); //2,3,4,5,6,7,8,9,10
- limit, sorted()
주요 최종연산
- Sum,Average
- min, max
- reduce -> 연쇄적인 합 0항 +1항=a -> a+2항=b-> b+3항..
- forEach
- filter 내부조건에 참인 요소들을 추출
728x90
'3.1 Java_Backend > Java' 카테고리의 다른 글
[Java/기초] Stream (0) | 2024.08.05 |
---|---|
[Java/기초] 주석 (0) | 2024.07.22 |
[JAVA/기초] 람다식 (0) | 2024.07.20 |
[java/기초] 예외처리 (0) | 2024.07.16 |
[Java/기초] 입출력 (0) | 2024.07.14 |
댓글