Stream.of() : 일관된 타입의 값들을 인자로 주면 stream 타입의 객체로 만들어준다.

 

Stream.iterate() : 두 개의 인자를 받는데, 첫 번째 인자는 초기값을 나타내고, 두 번째 인자는 값을 연산하여 반환하는 것을 의미한다. 

Stream.generate() : supplier를 인자로 받는다.

위의 iterate와 generate는 무한한 메소드로, limit과 같은 것으로 무한하게 뻗어가는 것을 막아줘야 한다.

 

public static void main(String[] args) {
    Stream.of(1, 2, 3)
            .forEach(System.out::println);

    Stream.iterate(1, n -> n * 2)
            .limit(3)
            .forEach(System.out::println);

    Stream.generate(new Random()::nextInt)
            .limit(3)
            .forEach(System.out::println);
}
// 출력 : 1 2 3 1 2 4 -46240183 -1487334443 944361003

 

'JAVA > JAVA8' 카테고리의 다른 글

Additional Terminal Operations  (0) 2024.08.26
Numeric Streams  (0) 2024.08.24
Stream Operations  (0) 2024.08.23
Steams API  (0) 2024.08.23
람다 제약사항  (0) 2024.08.14

+ Recent posts