如何在 Java 中对数组进行洗牌?


声明一个字符串数组,并添加以字母形式的元素 −

String[] letters = { "P", "Q", "R", "S", "T", "U","V", "W", "X", "Y", "Z" };

将上述数组转换为列表 −

List<String>list = Arrays.asList(letters);

现在,使用 Random 类对象创建一个混乱的数组,并使用 nextInt() 生成随机字母 −

int len = list.size();
System.out.println("Shuffled array...");
for (int i = 0; i < letters.length; i++) {
   int index = new Random().nextInt(len);
   String shuffle = list.get(index);
   System.out.println(shuffle);
}

示例

 实时演示

import java.util.Arrays;
import java.util.List;
import java.util.Random;
public class Demo {
   public static void main(String[] args) {
      String[] letters = { "P", "Q", "R", "S", "T", "U","V", "W", "X", "Y", "Z" };
      System.out.println("Initial array = "+Arrays.toString(letters));
      List<String>list = Arrays.asList(letters);
      int len = list.size();
      System.out.println("Shuffled array...");
      for (int i = 0; i < letters.length; i++) {
         int index = new Random().nextInt(len);
         String shuffle = list.get(index);
         System.out.println(shuffle);
      }
   }
}

输出

Initial array = [P, Q, R, S, T, U, V, W, X, Y, Z]
Shuffled array...
P
X
S
X
W
S
V
R
Y
Q
R

更新于: 30-Jul-2019

2 千次以上观看

开启你的 职业生涯

完成课程后取得认证

开始
广告