如何在 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
广告