Factory Method란
- 스트림을 생성해내는 method들이다
of(), generate(), iterate() 가 있다.
of()
- 메서드에 전달된 값들을 stream으로 만들어낸다.
- ex)
Stream<String> stringStream = Stream.of("adam", "dan", "Julie");
iterate(), generate()
- 무한 스트림을 만들어낸다.
limit()과 함께 사용한다.
- ex)
Stream.iterate(1, x -> x*2)
package com.learn.java.streams;
import java.util.Random;
import java.util.function.Supplier;
import java.util.stream.Stream;
public class StreamOfGenerateIterateExample {
public static void main(String[] args) {
Stream<String> stringStream = Stream.of("adam", "dan", "julie");
stringStream.forEach(System.out::println);
Stream.iterate(1, x -> x * 2)
.limit(10)
.forEach(System.out::println);
Supplier<Integer> integerSupplier = new Random()::nextInt;
Stream.generate(integerSupplier)
.limit(5)
.forEach(System.out::println);
}
}