티스토리 뷰

JAVA

[Stream] 기본타입 스트림

박중수 2015. 4. 2. 20:46

기본타입(int, long, double 등)에 특화된 스트림이 있다.

기본타입은 래핑을 하면 성능에 좋지 않아서이다.


대표적으로 IntStream, LongStream, DoubleStream 이 있다.


이들 스트림을 생성하는 법은 of 메소드를 사용한다.

IntStraem is = IntStream.of(1,2,3,4,5); //가변인자를 받기 때문에 여러개를 넣을 수 있다.


혹은 일정 범위의 값을 생산하려면 range 메소드를 사용한다

IntStream is = IntStream.range(0, 100); //0~99의 값을 생산

IntStream is = IntStream.rangeClosed(0, 100); //0~100의 값을 생산



객체스트림에서 기본타입 스트림으로 변환하려면


stream.mapTo(타입) 메소드를 사용한다.


ex) IntStream is = stream.mapToInteger(Person::getAge);


Person 객체의 나이값이 담긴 IntStream이 생성되었다.



기본타입 스트림을 객체스트림으로 바꿀 땐 boxed 메소드를 사용한다.

Stream<Integer> stream = is.boxed(); //is는 IntStream의 객체이다.




* 기본타입 스트림에서 값을 가져오는 방법은 get() 메소드가 아니라 getAs(타입) 메소드이다.

ex) is.getAsInt();


* 기본타입 스트림은 sum, average 등의 숫자계산 메소드를 포함한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함