文字列配列のランダムシャッフル


回答:


2
  1. あなたは(投稿されたように)内蔵を使用することができます ここに ):

    Collections.shuffle(Arrays.asList(cardsSet1));

  2. またはホイールを作り直す:

新しい配列にコピーしたい場合(元のものはそのまま)

public static String[] Randomize(String[] arr) {
    String[] randomizedArray = new String[arr.length];
    System.arraycopy(arr, 0, randomizedArray, 0, arr.length);
    Random rgen = new Random();

    for (int i = 0; i < randomizedArray.length; i++) {
        int randPos = rgen.nextInt(randomizedArray.length);
        String tmp = randomizedArray[i];
        randomizedArray[i] = randomizedArray[randPos];
        randomizedArray[randPos] = tmp;
    }

    return randomizedArray;
}

あるいは、あなたがその場でそれをしたいのなら(上記と非常によく似て):

public static void RandomizeInPlace(String[] arr) {
    Random rgen = new Random();

    for (int i = 0; i < arr.length; i++) {
        int randPos = rgen.nextInt(arr.length);
        String tmp = arr[i];
        arr[i] = arr[randPos];
        arr[randPos] = tmp;
    }
}

...私は前もって「あなたは何を試しましたか」と尋ねるべきでしたか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.