◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
java 中生成随机数组的方法有三步:使用 math.random() 乘以数组长度获取随机索引;使用随机数生成器 random 类生成指定范围内的随机索引;使用 collections.shuffle() 方法随机打乱数组。
Java 中随机数组的生成方法
1. 使用 Math.random() 方法
Math.random() 方法生成 [0, 1) 范围内的均匀分布随机数。可以将其乘以数组长度,得到 [0, 数组长度) 范围内的随机整数索引。下面的代码演示了如何使用 Math.random() 随机打乱一个数组:
import java.util.Arrays; public class RandomArray { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; // 生成随机索引并交换元素 for (int i = 0; i < arr.length; i++) { int randomIndex = (int) (Math.random() * arr.length); int temp = arr[i]; arr[i] = arr[randomIndex]; arr[randomIndex] = temp; } // 输出随机化的数组 System.out.println(Arrays.toString(arr)); } }
2. 使用随机数生成器
立即学习“Java免费学习笔记(深入)”;
Java 提供了 Random 类用于生成各种随机数。它比 Math.random() 方法提供了更丰富的随机数生成功能,例如生成指定范围内的随机数。下面的代码演示了如何使用 Random 类随机打乱一个数组:
import java.util.Arrays; import java.util.Random; public class RandomArray { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; Random random = new Random(); // 生成指定范围内的随机索引并交换元素 for (int i = 0; i < arr.length; i++) { int randomIndex = random.nextInt(arr.length); int temp = arr[i]; arr[i] = arr[randomIndex]; arr[randomIndex] = temp; } // 输出随机化的数组 System.out.println(Arrays.toString(arr)); } }
3. 使用 Collections.shuffle() 方法
Java 的 Collections 类提供了 shuffle() 方法,可以对列表或数组进行随机打乱。它使用 Fisher-Yates 算法,保证了随机结果的公平性。下面的代码演示了如何使用 Collections.shuffle() 方法随机打乱一个数组:
import java.util.Arrays; import java.util.Collections; public class RandomArray { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; // 随机化数组 Collections.shuffle(Arrays.asList(arr)); // 输出随机化的数组 System.out.println(Arrays.toString(arr)); } }
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。