본문 바로가기
공부/Java

스트림(Stream) - 1

by JERO__ 2022. 3. 8.

 스트림

- 다양한 [ 데이터 소스 ]를 [ 표준화된 방법 ]으로 다루기 위한 것

-> 그동안 List, Map, Set 등 사용방법이 달랐음


 

[ 특징 ]

1. 데이터 소스로부터 "읽기"만 할 뿐 변경하지 않는다.

2. Iterator 처럼 "일회용"이다.

3. 최종 연산 전까지 중간연산이 수행되지 않는다. (지연된 연산)

4. 작업을 내부 반복으로 처리한다.

5. 병렬스트림( parallel() )

    - 큰 작업 빠르게


[ 기본형 스트림 ]

- IntStream, LongStream, DoubleStream


- 방법

1. 스트림 만들기

2. 중간 연산 (0~N번)

3. 최종 연산 (1번)


1. 스트림 만들기 ( 컬렉션, 배열, 람다, 난수 등 가능)

- Stream<Integer> stream1 = list.stream();                                      // 컬렉션
- Stream<String> stream2 = Stream.of(new String[]{}"a", "b", "c"});        // 배열
- Stream<Integer> stream1 = Stream.iterate(0, n->n+2);

- Stream<Double>stream4 = Stream.generate(Math::random);             // 람다식
- IntStream stream5 = new Random().ints(5);                                   // 난수 스트림(크기 5) 

 

댓글