「java生成不重复编码」java生成不重复编码数据
今天给各位分享java生成不重复编码的知识,其中也会对java生成不重复编码数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、为什么java中生成32位随机ID永远不会重复?
- 2、Java怎么产生不重复的随机数,求代码
- 3、如何让JAVA生成不重复随机数
- 4、怎么样用java代码自动生成不重复的含有数字和字母的随机码
- 5、java 生成不重复字符串
- 6、JAVA中怎样自动生成不重复的数字
为什么java中生成32位随机ID永远不会重复?
java对象的散列码hashcode,有32位,有40亿的空间。\x0d\x0a“永远不会重复”,没有说永远,好的散列函数在尽可能大的空间不重复。\x0d\x0a个人认为。\x0d\x0a1、可能重复,但重复后应该有处理机制。不担心重复。\x0d\x0a2、在对象达到相当多的时候(比如10亿个),重复的几率才会变大。但实际使用上实时超过十万个对象的情况都不多。即很难重复。
Java怎么产生不重复的随机数,求代码
/**
* 随机指定范围内N个不重复的数
* 最简单最基本的方法
* @param min 指定范围最小值
* @param max 指定范围最大值
* @param n 随机数个数
*/
public static int[] randomCommon(int min, int max, int n){
if (n (max - min + 1) || max min) {
return null;
}
int[] result = new int[n];
int count = 0;
while(count n) {
int num = (int) (Math.random() * (max - min)) + min;
boolean flag = true;
for (int j = 0; j n; j++) {
if(num == result[j]){
flag = false;
break;
}
}
if(flag){
result[count] = num;
count++;
}
}
return result;
}
如何让JAVA生成不重复随机数
一个不错的算法,很简单,但有效。不过如果范围比较大,则占用内存大,就不推荐使用了。个人感觉1000个以内的就可以考虑。这东西也许你早就知道了,但我依然惊叹算法的力量。看代码 import java.util.*;/** * 生成不重复随机数的一种算法。***/ public class T { public static void main(String args) { // 种子你可以随意生成,但不能重复 int seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int ranArr = new int; Random ran = new Random(); // 数量你可以自己定义。 for (int i = 0; i seed.length; i++) { // 得到一个位置 int j = ran.nextInt(seed.length - i); // 得到那个位置的数值 ranArr[i] = seed[j]; // 将最后一个未用的数字放到这里 seed[j] = seed[seed.length - 1 - i];} System.out.println("ranArr:" + Arrays.toString(ranArr));}} 一个运行结果
怎么样用java代码自动生成不重复的含有数字和字母的随机码
package tests;
/**
* 随机生成32位字符串
*/
public class String32 {
public static String random(int length){//传入的字符串的长度
StringBuilder builder = new StringBuilder(length);
for(int i = 0; i length; i++){
int r = (int) (Math.random()*3);
int rn1=(int)(48+Math.random()*10);
int rn2=(int)(65+Math.random()*26);
int rn3=(int)(97+Math.random()*26);
switch(r){
case 0:
builder.append((char)rn1);
break;
case 1:
builder.append((char)rn2);
break;
case 2:
builder.append((char)rn3);
break;
}
}
return builder.toString();
}
public static void main(String[] args){
String s = String32.random(32);
System.out.println(s);
}
}
java 生成不重复字符串
方法如下:
/**
* 生成不重复随机字符串包括字母数字
*
* @param len
* @return
*/
public static String generateRandomStr(int len) {
//字符源,可以根据需要删减
String generateSource = "0123456789abcdefghigklmnopqrstuvwxyz";
String rtnStr = "";
for (int i = 0; i len; i++) {
//循环随机获得当次字符,并移走选出的字符
String nowStr = String.valueOf(generateSource.charAt((int) Math.floor(Math.random() * generateSource.length())));
rtnStr += nowStr;
generateSource = generateSource.replaceAll(nowStr, "");
}
return rtnStr;
}
public static void main(String[] args) {
for (int i = 0; i 10; i++) {
System.out.println(generateRandomStr(8));
}
}
JAVA中怎样自动生成不重复的数字
/**
* 随机产生指定范围内不重复的数字
*
* @param min 产生最小数字
* @param max 产生最大数字
* @param count 总共要产生多少个不重复的数
* @return int数组,是从小到大排序后的结果
*/
public static int[] getRandomNumbers(int min, int max, int count) {
int num = 0;
int i = 0;
int[] arrs = new int[count];
if (count (max - min)) {
System.out.println("产生的数字个数超出设定最大最小值之间的范围!");
return null;
}
while (i count) {
num = (int) (Math.random() * max);
if (num = min !ArrayUtils.contains(arrs, num)) {
arrs[i] = num;
i++;
}
}
Arrays.sort(arrs);
return arrs;
}
java生成不重复编码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java生成不重复编码数据、java生成不重复编码的信息别忘了在本站进行查找喔。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。