이제 완전 랜덤으로 숫자를 추첨하는 코드를 만들어보겠다
public List<int[]> recommendRandom(int count) {
List<int[]> recommendations = new ArrayList<>();
List<Integer> baseNumbers = new ArrayList<>();
for (int i = 1; i <= 45; i++) {
baseNumbers.add(i);
}
Random random = new Random();
while (recommendations.size() < count) {
Collections.shuffle(baseNumbers,random);
int[] candidate=baseNumbers.subList(0,6).stream()
.sorted()
.mapToInt(Integer::intValue)
.toArray();
recommendations.add(candidate);
}
return recommendations;
}
baseNumbers.sublist(0,6)
-> baseNumbers는 1~45가 섞인 리스트
sublist(0,6)은 앞에서부터 6개의 번호들을 추출한다
처음에 baseNumbers 는 for 때문에 1부터 순서대로지만 Collections.shuffle(baseNumbers,random) 때문에 랜덤으로 섞여졌다
recommendations.add(candidate);
-> 번호조합(candidate)을 추천 리스트(recommendations)에 추가하자