스트림
- 다양한 [ 데이터 소스 ]를 [ 표준화된 방법 ]으로 다루기 위한 것
-> 그동안 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) |
'공부 > Java' 카테고리의 다른 글
스트림(Stream) - 2 (스트림 만들기) (0) | 2022.03.13 |
---|---|
추상화(추상클래스, 인터페이스) (0) | 2022.03.11 |
람다식 -> 메서드 참조 (0) | 2022.03.01 |
함수형 인터페이스 : Predicate 결합 (0) | 2022.03.01 |
java.util.function 패키지 (함수형 인터페이스) (0) | 2022.03.01 |
댓글