Java 有许多内置函数可以对集合或其他数据类型执行不同的操作,其中之一就是 shuffle。 Shuffle 函数在 Python 等许多其他语言中都可用。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
随机播放方法声明:
public static void shuffle(List<?> list)
public static void shuffle(List<?> list, Random random)
参数:
返回:
在下面的示例中,我们从包含一些字母的数组创建了一个列表,并使用 shuffle 方法对数组进行洗牌。每次运行时,您都会得到不同的随机列表。
代码:
import java.util.*; public class CollectionsShuffleExampleWithoutRandom { public static void main(String[] args) { List<String> list = Arrays.asList("R", "A", "H", "U", "L"); System.out.println("Before Shuffle : "+list); Collections.shuffle(list); System.out.println("After shuffle : "+list); } }
输出:
在下面的示例中,我们创建一个整数链接列表并向其中添加一些整数。但这里我们传递了另一个参数,即随机函数,它将成为随机性的来源。然后我们传递了种子值为5的Random函数。这是另一种风味,或者我们可以说是使用带有Randomness的shuffle函数的方法。
代码:
import java.util.*; public class CollectionsShuffleWithRandom { public static void main(String[] args) { //Create linked list object LinkedList<Integer> list = new LinkedList<Integer>(); //Add values list.add(90); list.add(100); list.add(1); list.add(10); list.add(20); System.out.println("Before Shuffle = "+list); //Random() to shuffle the given list. Collections.shuffle(list, new Random()); System.out.println("Shuffled with Random() = "+list); //Random(5) to shuffle the given list. Collections.shuffle(list, new Random(5)); System.out.println("Shuffled with Random(5) = "+list); } }
输出:
如果您想要更多地控制随机播放,那么您可以编写自己的方法来使用 random 方法和另一种随机方法来随机播放列表。这种方法更加灵活且易于适应任何应用。您可以实际了解 Java 内置方法中的 shuffle 是如何工作的。
输入: 一个 int 数组
输出: 打乱数组(按随机顺序)
示例:
public static int[] ShuffleArray(int[] array){ Random rand = new Random(); // Random value generator for (int i=0; i<array.length; i++) { int randomIndex = rand.nextInt(array.length); int temp = array[i]; array[i] = array[randomIndex]; array[randomIndex] = temp; } return array; }
上面的函数只需要传递一个数组整数,它就会返回一个打乱后的数组。在函数内部,您可以看到我们正在迭代数组直到其长度并生成一个随机数,它将被视为数组索引,它将与另一个数组交换。这就是数组内元素交换的方式。生成的数组将是交换后的数组。
从上面的函数中,我们可以得到 shuffle 函数的基本概念,其中将发送一个值列表,并且每次迭代数组中的元素时都会生成一个随机数。该元素将与同一列表中的另一个元素交换,索引是从随机函数随机生成的。
例外:
在很多情况下,下面的随机播放功能可能是一些应用:
在上面的文章中,我们了解了 shuffle 的工作原理以及如何使用它。可能有多个用例,您可以使用带有随机参数的 shuffle 函数,或者不使用随机参数的 shuffle 函数,并且某些应用程序可能需要不同的灵活实现,您可以使用 Java 的 Random 函数编写自己的 shuffle 函数。
以上是Java 中的 Shuffle()的详细内容。更多信息请关注PHP中文网其他相关文章!