리스트 생성 - 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
}
}