Java生成随机无重复随机数,使用ArrayList实现

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
import java.util.ArrayList;
import java.util.Random;

/**
 * 生成随机无重复随机数,使用ArrayList实现
 * 
 * 算法:加入随机数时检测列表中是否已存在此随机数,有则重来,无则加入。
 * 
 */
public class Demo {
	public static void main(String[] args) {
		int length = 50; // 50个随机数
		Random random = new Random();
		ArrayList<Integer> list = new ArrayList<Integer>();

		for (int i = 0; i < length; i++) {
			int number = random.nextInt(100) + 1; // 1-100的随机数(此处100必须比length大,否则会死循环)
			if (!list.contains(number)) {
				list.add(number);
			} else {
				i--; // 保证生成的随机数个数足够,防止有重复随机数时造成空位
			}
		}

		for (int i = 0; i < length; i++) {
			System.out.print(list.get(i) + "\t");

			if ((i + 1) % 10 == 0) {
				System.out.println("");
			}
		}
	}
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:在指定的范围内,生成不重复的随机数序列(排除法,筛选法)

下一篇:JavaScript实现的计算器