Java随机播放数组

如何在Java中随机播放数组?

有两种方法可以对int数组进行随机排序(随机化数组中元素的顺序),一种方法是使用Collections.shuffle()方法,另一种方法是对数组元素进行操作。
方法1:随机排列数组中的元素

这是灵活的,并且易于更改以适合您的应用程序。

输入:一个int数组
输出:一个随机数组(以随机顺序)
public static int[] RandomizeArray(int[] array){
		Random rgen = new Random();  //随机数生成器				
 
		for (int i=0; i<array.length; i++) {
		    int randomPosition = rgen.nextInt(array.length);
		    int temp = array[i];
		    array[i] = array[randomPosition];
		    array[randomPosition] = temp;
		}
 
		return array;
	}

您还可以定义一个方法,其输入是数组的范围,如下所示:

输入:int数组的范围
输出:随机重新排列的数组

例如,在给定a = 1和b = 10的情况下,该方法返回经过改组的数组,例如{2 5 6 7 9 8 3 1 10 4}。

public static int[] RandomizeArray(int a, int b){
		Random rgen = new Random();  //随机数生成器		
		int size = b-a+1;
		int[] array = new int[size];
 
		for(int i=0; i< size; i++){
			array[i] = a+i;
		}
 
		for (int i=0; i<array.length; i++) {
		    int randomPosition = rgen.nextInt(array.length);
		    int temp = array[i];
		    array[i] = array[randomPosition];
		    array[randomPosition] = temp;
		}
 
		for(int s: array)
			System.out.println(s);
 
		return array;
	}

方法2:Java Collection.shuffle()方法

//创建一个数组
Integer[] array = new Integer[]{1, 2, 3, 4};
 
//int[] array = new int[]{1, 2, 3, 4}; //不起作用
 
//随机排列数组 
List<Integer> l = Arrays.asList(array);
System.out.println(l);
 
Collections.shuffle(l);
 
System.out.println(l);

上面的代码打印出一个随机的整数列表。如果需要数组输出,则可以转换为数组。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值