package com.myway.study;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
/**
*
* 生成1千万不重复的数字
* User: zhangyong
* Date: 14-5-2
* Time: 下午11:02
* To change this template use File | Settings | File Templates.
*/
public class TenMillionNotCurrentNumber {
public static void main(String[] args) {
int max = 10000000;
Random random = new Random();
int[] arr = new int[max];
System.out.println(arr.length);
String storePath = "D:\\1.txt";
//设置初始值
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}
//调用随机来调换位置
for (int n = 0; n < max; n++) {
int ii = (int) random.nextInt(max);
if (ii == max) {
ii = ii - 1;
}
int jj = (int) random.nextInt(max);
if (jj == max) {
jj = jj - 1;
}
//调换位置
swap(arr, ii, jj);
}
for (int i = 0; i < arr.length; i++) {
try {
String data = (i == arr.length - 1) ? String.valueOf(arr[i]) : (String.valueOf(arr[i]) + ',');
FileUtils.writeStringToFile(new File(storePath), data, true);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void swap(int[] arr, int ii, int jj) {
int temp = arr[ii];
arr[ii] = arr[jj];
arr[jj] = temp;
}
}
分享到:
相关推荐
在开发过程中,会遇到生成XX编号之类的数据,而且这编号不能重复,所以根据当前时间,生成8位不重复的数.
生成指定随机数不重复的例子(解压,放到myeclipse即可用)
java生成十个不重复的随机数,要求不重复
包含C#源码 关于C#中随机数生成器 生成不重复子字母组合的随机数 并保存成TXT
C#生成2位或N位不重复字母数字组合,位数可自己设置调整
这是自动生成不重复主键的代码包,直接导包进入程序即可使用,帮助生成由字母数字组成的16位id号,可以用于数据库主键存储(使用数据库自增主键始终有问题,不适合大型程序的使用),该代码包运用于很多大型企业级...
VB.NET生成1-10不重复随机数.重点是生成随机数,而且不重复。
生成20位不重复id,生成6位验证码,生成uuid等等帮助方法
随机生成不重复字段-自定义各个字段长度,批量随机生成多个不重复多段字符串(每个段可自定义长度) 批量随机生成多个不重复多段字符串(每个段可自定义长度) 哪个字段有输入长度,即为生成多少段字符 1、生成10组...
可以生成指定数量的不重复随机字符串,支持纯数字、字母和数字组合、字母数字加特殊字符
生成1到n的随机数。 输入数字n,生成1到n的不重复随机数。
使用c#技术生成20000个不重复的随机数,并且打印出来
大数据一秒生成5000000不重复ID SnowflakeIDWorker 用到 long timestamp = timeGen(); timestamp 以及上一个 timestamp 加位移.
js超简单实用随机产生1-100个数字不重复
生成由字母、数字组合的不重复字串(目前小于8位),此算法也适用于数字串加密及压缩.
固定密钥,按顺序如 10000,10001,10002等传参数,加密后生成永不重复的相同位数的数字,对于上千亿级的数字查询检索有非常大的用处,避免了录入时验证是否重复的步骤
通过循环创建随机种子来循环生成随机数,避免了重复调用Random的Next方法产生重复随机数的问题,程序里可设置文件的保存路径和产生的随机数长度
java开发技术调用rendom函数,随机生成32位不重复的字符