티스토리 뷰
기본타입(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 등의 숫자계산 메소드를 포함한다.
'JAVA' 카테고리의 다른 글
[Stream] 경쟁조건 (병렬연산 주의점) (0) | 2015.04.02 |
---|---|
[Stream] Random 클래스로 기본타입 스트림 생성하기 (0) | 2015.04.02 |
[Stream] Grouping (특정 값들끼리 그룹화 하기) (0) | 2015.04.02 |
[Stream] 결과값을 모으기 (0) | 2015.04.02 |
[Stream] 리덕션(reduction) 연산 (0) | 2015.04.02 |
- Total
- Today
- Yesterday
- 리액트
- 메모리
- 프로세서
- Java8
- 코어
- opensource
- Java
- 람다
- Swift 2.0
- javascript
- 시간
- gitlab
- 퍼포먼스
- 성능개선
- 클로저
- 성능
- Docker
- RAMDA
- 자바
- 컴퓨터 시간
- react
- 자료구조
- 자바 성능
- json
- 알람
- Clojure
- Stream
- rambda
- 날짜
- Jackson
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |