본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

스트림 람다식을 이용한 임의의값 생성하기 iterate generate

`iterate` 및 `generate`는 람다식을 사용하여 연속된 요소를 생성하는 데 사용되며, 

주로 무한한 스트림을 생성할 때 유용하다.
`iterate`는 이전 요소에 의존하여 스트림을 생성하는 반면,

`generate`는 이전 요소의 결과를 이용해서 다음요소를 계산하지않는다.

 

 

 


iterate
주어진 초기 값부터 시작하여 람다식을 반복적으로 적용하여 스트림을 생성


import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        // 초기 값이 2이고, 각 요소는 이전 요소에 2를 곱한 값인 스트림을 생성
        Stream.iterate(2, n -> n * 2)
              .limit(5) // 처음 5개의 요소만 출력
              .forEach(System.out::println);
    }
}


[출력결과]
2
4
8
16
32

 

 

 

 

generate
람다식을 반복적으로 적용하여 스트림을 생성하지만, 이전 요소에 의존하지 않는다.

import java.util.Random;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        // 임의의 정수를 생성하여 무한한 스트림을 생성
        Stream.generate(() -> new Random().nextInt(100))
              .limit(5) // 처음 5개의 요소만 출력
              .forEach(System.out::println);
    }
}


[출력결과]
(실행할 때마다 다를 수 있음)

46
91
17
72
58