일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2 > /dev/null
- EC2
- ㅔㄴ션
- 커밋메세지수정
- 검색
- WeNews
- 메세지수정
- application.yml
- AuthenticationEntryPoint
- 컨테이너실행
- 메소드명
- 참조키
- docker명령어
- 테스트메소드
- 포트
- 서브쿼리
- ubuntu
- 예약
- 네이티브쿼리
- foreignkey
- querydsl
- MySQL
- 추후정리
- appspec.yml
- Query
- appspec
- 외부키
- 적용우선순위
- 테스트
- subquery
- Today
- Total
제뉴어리의 모든것
IntStream.rangeClosed(1,20).asLongStream().mapToObj 에 대한 해석 본문
- 소스
List<SampleDTO> list = IntStream.rangeClosed(1,20).asLongStream().mapToObj(i-> {
SampleDTO dto = SampleDTO.builder()
.sno(i)
.first("F")
.last("Last.."+i)
.regTime(LocalDateTime.now())
.build();
return dto;
}).collect(Collectors.toList());
IntStream.rangeClosed(1,20) => 1~20의 Int를 발생시킴.
.asLongStream() => 1~20으로 발생되는 Int를 Long으로 변환 시킴
.mapToObj() => 나오는 스트림(Long)을 Obj형태로 반환, 그러나 여기서는 매개변수로 "i-> {}" 이런식의 람다식을 사용하였기 때문에 i를 사용하여 진행되는 람다식? 람다함수? ({}안에 내용)의 결과를 Obj형태로 변환을 의미
.collect(Collectors.toList()); => 그렇게 20개의 dto가 Obj 형태로 나온것을 Collectors를 이용하여 List의 형태로 모은다
5.3 asDoubleStream(), asLongStream(), boxed() 메소드
asDoubleStream() 메소드는 IntStream의 int 요소 또는 LongStream의 long 요소를 double 요소로 타입 변환해서 DoubleStream 을 생성합니다.
마찬가지로 asLongStream() 메소드는 IntStream의 int 요소를 long 요소로 타입 변환해서 LongStream을 생성합니다.
boxed() 메소드는 int, long, double 요소를 Integer, Long, Double 요소로 박싱해서 Stream을 생성합니다.
출처: https://jang8584.tistory.com/237 [개발자의 길]
'JAVA' 카테고리의 다른 글
JAVA 함수형 인터페이스(Functional Interface) (0) | 2021.01.16 |
---|---|
final에 대하여 (0) | 2021.01.16 |
Interface 내의 default, static 메소드 (0) | 2021.01.16 |
Thymeleaf란, 템플릿엔진이란 기타 등등 (0) | 2021.01.14 |
어노테이션이란 (0) | 2021.01.14 |