2025.01.03 - [IT/JAVA] - Stream
Stream
Stream스트림(Stream)은 Java 8에서 도입된 기능으로, 컬렉션(예: 리스트, 배열) 등의 데이터 소스를 처리하고 변환하는 데 사용된다.스트림은 데이터의 흐름을 추상화한 것으로, 데이터를 필터링, 매
iamsh.tistory.com
2025.01.04 - [IT/JAVA] - IntStream
IntStream
IntStreamJava8의 Stream API에서 기본 타입 int를 처리하기 위해 제공되는 Stream 클래스박싱(Integer)없이 숫자 데이터를 효율적으로 처리할 수 있다int에 대한 순차 및 병렬 집계 연산 수행하는데 사용반
iamsh.tistory.com
| 특징 | Stream | IntStream |
| 타입 | 참조타입(Integer) | 기본타입(int) |
| 박싱/언박싱 | 필요(비효율적) | 불필요 |
| 사용 상황 | 컬렉션(List, Set 등) 에서 주로 사용 | 숫자 연산에 주로 사용 |
| API | map 등 일반 연산 | 숫자 전용 연산 |
1. 타입
Stream<T>: 제네릭 타입을 사용하여 참조 타입(객체)을 처리하는 스트림이다.
ex) Stream<Integer>, Stream<String>, Stream<List<Integer>> 등
IntStream: 기본형 int 값을 처리하는 스트림.
IntStream은 기본형 int에 특화된 메서드를 제공한다.
2. 박싱/언박싱
Stream<T>: 참조 타입을 처리하므로, 기본형 값을 처리할 때는 박싱(Boxing)과 언박싱(Unboxing)이 필요하다.
예를 들어, int 값을 Stream<Integer>로 처리할 때는 Integer 객체로 박싱해야 한다.
IntStream: 기본형 int 값을 직접 처리하므로, 박싱과 언박싱이 필요 없다.
성능 면에서 유리하다.
3. 사용 상황
Stream<T>: 참조 타입(객체)을 처리할 때 사용한다.
예를 들어, 컬렉션(List, Set, Map)이나 배열의 객체를 처리할 때 사용한다.
IntStream: 기본형 int 값을 처리할 때 사용한다.
예를 들어, 숫자 범위, 배열의 기본형 int 값을 처리할 때 사용한다.
4. API
Stream<T>: 제네릭 타입을 처리하는 다양한 메서드를 제공한다.
예를 들어, map, filter, reduce, collect 등이 있다.
IntStream: 기본형 int 값을 처리하는 특화된 메서드를 제공한다.
예를 들어, sum, average, range, rangeClosed, mapToObj 등이 있다.
refer to
메가아이티아카데미 이광호쌤
'IT > Algorithm | Coding Test' 카테고리의 다른 글
| [백준 11720] [Java] 숫자의 합 (0) | 2025.01.14 |
|---|---|
| 배열, 리스트 (Java) (0) | 2025.01.14 |
| [백준 2164] [Java] 카드2 (0) | 2025.01.08 |
| 스택 Stack, 큐 Queue, 덱 Deque (1) | 2025.01.05 |
| [백준 1158] [Java] 요세푸스 문제 (1) | 2025.01.02 |