티스토리 뷰

JAVA

6. 무한스트림 생성

박중수 2015. 3. 31. 19:52

Stream 인터페이스에서 무한스트림을 생성하려면 두가지 정적 메소드가 있다.

Stream.generate와 Stream.iterate가 있다.


1. Stream.generate

generate의 형식은 Stream.generate(인자없는 함수) 이다.

이는 스트림 값이 필요하면 인자로 전달된 함수를 실행하여 값을 생산하고 이를 리턴한다.


Stream.generate(()->"Hello");

를 실행하면 Hello라는 상수가 리턴된다.


또한

Stream.generate(Math::random);

을 실행하면 난수가 리턴된다.



2. Stream.iterate

iterate의 형식은 Stream.iterate(시작값, 함수) 이다.

iterate는 무한 수열을 생성할 때 사용된다.


Stream<Integer> steam = Stream.iterate(0, n->n+1);

이렇게 만들면 스트림 연산이 실행될때마다 숫자가 0부터 1씩 늘어난다.


이를 0부터 4까지 5번 출력하고싶으면

Stream.iterate(0, n->n+1).limit(5).forEach(System.out::println);


을 실행하면 된다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함