본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

스트림의 변환 총정리: 언제 어떤 메서드를 써야하는가.

스트림으로 프로그램을 작성할때 어려움은

스트림간의 변환, 그리고 언제어떤 메서드를 써야하는지 매번 찾아보는것이다.

표로 간단히 정리하여 앞으로 스트림 - 스트림간의 변환에 관련된 이슈때 유용하도록 하자.

from to 변환메서드
스트림 → 기본형 스트림
Stream<T> IntStream
LongStream
DoubleStream
mapToInt(ToIntFunction<T> mapper)
mapToLong(ToLongFunction<T> mapper)
mapToDouble(ToDoubleFunction<T> mapper)
기본형 스트림   스트림    
IntStream
LongStream
DoubleStream
Stream<Integer>
Stream<Long>
Stream<Double>
boxed()
Stream<U> mapToObj(DoubleFunction<U> mapper)
기본형 스트림 →  기본형스트림
IntStream
LongStream
DoubleStream
LongStream
DoubleStream
asLongStream()
asDoubleStream()
스트림 →  부분스트림
Stream<T>
IntStream
Stream<T>
IntStream
skip(long n)
limit(long maxSize)
두개의 스트림 →  스트림    
Stream<T>, Stream<T> Stream<T> concat(Stream<T> a, Stream<T> b)
IntStream, IntStream IntStream concat(IntStream a, IntStream b)
LongStream, LongStream LongStream concat(LongStream a, LongStream b)
DoubleStream, DoubleStream DoubleStream concat(DoubleStream a, DoubleStream b)
스트림<스트림> →  스트림    
Stream<Stream<T>> Stream<T> flatMap(Function mapper)
Stream<IntStream> IntStream flatMapToInt(Function mapper)
Stream<LongStream> LongStream flatMapToLong(Function mapper)
Stream<DoubleStream> DoubleStream flatMapToDouble(Function mapper)
스트림 병렬스트림    
Stream<T>
Stream<IntStream>
Stream<LongStream>
Stream<DoubleStream>
Stream<T>
IntStream
LongStream
DoubleStream
parallel() 스트림 병렬스트림
sequential() 병렬스트림 스트림
스트림 컬렉션    
Stream<T>
IntStream
LongStream
DoubleStream
Collection<T> collect(Collectors.toCollection(Supplier factory))
List collect(Collectors.toList())
Set collect(Collectors.toSet())
컬렉션 → 스트림    
Collection<T>, List<T>, Set<T> Stream<T> stream()
스트림 → Map    
Stream<T>
IntStream
LongStream
DoubleStream
Map<K,V> collect(Collectors.toMap(Function key, Function value))
collect(Collectors.toMap(Function k, Function v, BinaryOperator))
collect(Collectors.toMap(Function k, Function v, BinaryOperator merge, Sypplier mapSupplier))
스트림 → 배열    
Stream<T> Object[] toArray()
T[] toArray(IntFunction<A[]> generator)
IntStream
LongStream
DoubleStream
int[]
long[]
double[]
toArray()