「java生成不重复编码」java生成不重复编码数据

博主:adminadmin 2022-11-26 02:29:09 73

今天给各位分享java生成不重复编码的知识,其中也会对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生成不重复编码的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。