20230206 [Java] Shuffle

Daisy🌷·2023년 2월 6일
0

Shuffle

  • 프로그래밍을 하면서 Array나 Collection의 내용을 랜덤으로 바꿔야 할 때가 있다. java에서는 Random 클래스가 제공되어(혹은 Math.random()) 이것을 사용하여 랜덤 값을 뽑아낸다. 그러나 이는 단순히 랜덤값을 뽑아내기만 하므로, 랜덤으로 배치하거나 이미 나온 값을 제외하고 다른 값을 뽑아야 하는 등의 처리는 따로 해야한다.
    ex) 0 ~ 9까지의 숫자가 들어있는 배열을 준비하고, 섞어서, 앞에 있는 3개만 사용
  • 0 ~ 9까지의 숫자가 들어있는 배열을 준비하고 섞어서 랜덤한 순서로 0 ~ 9까지의 숫자를 나열함.
import java.util.Random;
public class baseball {
    public static void main(String[] args) {
        Random random = new Random();
        int[] numbers = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        for (int i = 0; i < 20; i += 1) {
            int x = random.nextInt(10);
            int y = random.nextInt(10);
            int temp = numbers[x];
            numbers[x] = numbers[y];
            numbers[y] = temp;
        }
        for (int i = 0; i < numbers.length; i += 1) {
            System.out.print(numbers[i] + " ");
        }
    }
}
profile
티스토리로 블로그를 이전했습니다. 😂 구경 오세요! 👉🏻 https://u-ryu-logs.tistory.com

0개의 댓글