获取随机数,且不重复.
Posted zengsiqi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取随机数,且不重复.相关的知识,希望对你有一定的参考价值。
package com.data.manger.follow.controller; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Random; /** * 获取随机数,且不重复. */ public class Test{ public static void main(String[] args) { //定义随机取的位数(范围判断) int n = Integer.parseInt("0000".replace("0", "9")); //定义随机生成的数据 int[] randomDataCode = new int[n]; for (int i = 0; i < n; i++) { randomDataCode[i] = i + 1; } System.out.println("默认顺序生成的数组总量 ====== " + Arrays.toString(randomDataCode)); Random r = new Random(); for (int i = 0; i < n; i++) { int in = r.nextInt(n - i) + i; int t = randomDataCode[in]; randomDataCode[in] = randomDataCode[i]; randomDataCode[i] = t; } System.out.println("打乱后的数组 ====== " + Arrays.toString(randomDataCode)); //数组保存到list List<Integer> randomDataCodeId = new ArrayList<Integer>(randomDataCode.length);//随机取的所有数值 for(Integer uid: randomDataCode){ randomDataCodeId.add(uid); } //判断随机数是否存在 List<Integer> dataList = new ArrayList<>();//已经存在的数值 dataList.add(1111); dataList.add(2222); for (Object data : dataList) { for (Integer list : randomDataCodeId) { if (list == data) { randomDataCodeId.remove(list); } } } System.out.println("随机取到的数为 ====="+ randomDataCodeId.get(0)); } }
以上是关于获取随机数,且不重复.的主要内容,如果未能解决你的问题,请参考以下文章
怎么才能用js实现随机选取10–100之间的10个且不重复的数字存入一个数组?