数组:数组是相同数据类型的对各数据的容器。
这些元素按线性顺排列。所谓线性排列是指除第一个元素之外,每个元素都有唯一的前驱元素;出最后一个元素外,每个元素都有唯一的后继元素。
创建格式:
常用格式1. 数据类型[] 数组名称 = new 数据类型[数组长度];(创建数组指定长度不指定数组中的内容)
常用格式2. 数据类型[] 数组名称 ={数组内容1,数组内容2,数组内容3……数组内容n}(创建数组的同时,制定数组中的内容)
数组在java中不常用的定义方式:
1.创建数组,不初始化
格式: 数据类型[] 数组名;\初始化
int[] nus;
nums = new int[10];
2.创建数组并指定数组中的内容
格式:数据类型[] 数组名称 = new 数据类型[]{内容1,内容2,内容3………}
在指定数列中,随机生成多个不重复的数
应用场景
- 考试系统随机不重复抽题;
- 播放器随机播放列表;
- 随机抽样模型;
- 随机分配工作地点;
- 地图引擎随机线路;
- 分布式系统随机分配符合要求的请求处理服务器;
- 随机点名系统;
我百度到的一种方法是,大体思想是生成一个随机数用完以后与数组的最后一位的元素互换,然后更改随机数的索引边界;就不会在出现重复的数字
public static void comSelection(int[] redPool, int[] sysRedBall) {
Random r = new Random();
int index = -1;
for (int i = 0; i < sysRedBall.length; i++) {
index = r.nextInt(redPool.length - i);
sysRedBall[i] = redPool[index];
int temp = redPool[index];
redPool[index] = redPool[redPool.length - i - 1];
redPool[redPool.length - 1 - i] = temp;
}
}