https://youtu.be/7Kyf4mMjbTQ?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp
📖본 포스팅은 '자바의 정석 - 남궁성 저자' 님의 책과 유튜브 강의를 보고 작성되었습니다.
[스트림]
- 다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것이다.
- 데이터 소스 - 컬렉션, 배열
- 표준화된 방법 - List, Set, Map
1. 스트림 만들기 --> 2. 중간 연산 --> 3. 최종 연산
[스트림 특징]
- 스트림은 데이터 소스로부터 데이터를 읽기만할 뿐 변경하지 않는다.
- 스트림은 Iterator처럼 일회용이다. (필요하다면 다시 스트림을 생성해야 한다.)
- 최종 연산 전까지 중간연산이 수행되지 않는다. - 지연된 연산
- 스트림은 작업을 내부 반복으로 처리한다.
- 스트림의 작업을 병렬로 처리 - 병렬스트림(멀티쓰레드)
- 기본형 스트림 - IntStream, LongStream, DoubleStream
- 오토박싱 & 언박싱의 비효율이 제거됨(Stream<Integer> 대신 IntStream 사용한다.)
- 숫자와 관련된 유용한 메서드를 Stream<T>보다 더 많이 제공한다.
'Java > 객체지향' 카테고리의 다른 글
[객체지향][스트림/Stream] - 스트림의 연산 (0) | 2022.03.18 |
---|---|
[객체지향][스트림/Stream] - 스트림 만들기 (0) | 2022.03.15 |
[객체지향][람다식/Lambda Expression] - 메서드 참조, 생성자의 메서드 참조 (0) | 2022.03.12 |
[객체지향][람다식/Lambda Expression] - Predicate의 결합. CF와 함수형 인터페이스 (0) | 2022.03.09 |
[객체지향][람다식/Lambda Expression] - java.util.function패키지 (0) | 2022.03.09 |