IT/Algorithm | Coding Test

Stream vs IntStream

iamhyeon 2025. 1. 4. 22:19

 

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