리스트 생성 - Collections.nCopies()

public class Main {
    public static void main(String[] args) {
        int n = 5; // 리스트의 크기
        List<Integer> list = new ArrayList<>(Collections.nCopies(n, 1)); // 1로 채워진 리스트 생성

        // 결과 출력
        System.out.println(list); // [1, 1, 1, 1, 1]
    }
}

1. 무한한 정수 스트림 생성

import java.util.Random;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        // 0부터 시작하는 무한한 정수 스트림을 생성하고 10개만 가져오기
        IntStream infiniteInts = IntStream.generate(() -> 0);
        IntStream limitedInts = infiniteInts.limit(10);

        // 결과 출력
        limitedInts.forEach(System.out::println); // 0을 10번 출력
    }
}

2. 랜덤한 정수 스트림 생성

public class Main {
    public static void main(String[] args) {
        Random random = new Random();

        // 랜덤한 정수 스트림 생성
        IntStream randomInts = IntStream.generate(random::nextInt).limit(10);

        // 결과 출력
        randomInts.forEach(System.out::println); // 랜덤한 10개의 정수 출력
    }
}

3. 특정 패턴의 정수 스트림 생성

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        // 짝수 생성
        IntStream evenNumbers = IntStream.generate(new int[1][]{0}::clone)
            .map(i -> {
                int even = i * 2;
                i[0]++;
                return even;
            }).limit(10);

        // 결과 출력
        evenNumbers.forEach(System.out::println); // 0, 2, 4, 6, 8, 10, 12, 14, 16, 18
    }
}