java如何生成不重复8位String类型字符串?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何生成不重复8位String类型字符串?相关的知识,希望对你有一定的参考价值。
如何用
String[] a = "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
"L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W",
"X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i",
"j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
"v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6",
"7", "8", "9" ;
String[] b = ;
这两个生成不重复的字符窜???
组成有 62个字符
那你每次就取 随机数x 0~62范围 对应a[x]
取8次组成一个字符串
存放在 hashmap中
直到hashmap中的个数满足要求 就停止 参考技术B 使用uuid 将中间的-换掉就行了追问
只要10位,= =你能保证这10位不重复吗
参考技术C 描述不清楚 不明白你要做什么追问就是生成 不重复的8位大小写和数字的字符串。= =
追答sirouszlh 说的有道理,也可以把hashmap换成hashSet,可以自动去重复
Java连载81-枚举类型,生成五个不重复的随机数,集合简介
一、枚举类型
1.枚举类型的格式就是enum+枚举类型的名称,可见下面的例子。
package com.bjpowernode.java_learning; ? public class D81_1_ { public static void main(String[] args) { /** * 需求:定义一个方法,该方法的作用是计算两个int类型数据的商 * 如果计算成功则该方法返回1,如果执行失败则该方法返回0 * * 程序执行成功,但是该程序存在风险,分析:存在什么风险? * * 程序中的问题在编译阶段解决的,绝对不会放在运行期解决。所以以下程序可以引入枚举类型 */ int a = 10; int b = 0; Result retValue = divide(a,b); if(retValue==Result.SUCCESS) { System.out.println("成功"); }else if (retValue==Result.FALL) { System.out.println("失败"); } } public static Result divide(int a,int b) { try { int c = a/b; }catch(Exception e) { // return 0; return Result.FALL; } // return 1; return Result.SUCCESS; } } ? //定义一个枚举类型 enum Result{ //成功和失败 //规范要求:大写 SUCCESS,FALL //有限的 } //四季 enum Season{ SPRING,SUMMER,AUTUMN,WINTER }
二、生成五个不重复的随机数
package com.bjpowernode.java_learning; import java.util.Random; ? public class D81_2_FiveNonredundantNumber { public static void main(String[] args) { /** * 生成五个不重复的随机数 */ Random r = new Random(); int[] a = new int[5]; int index = 0; while(index<5) { int temp = r.nextInt(6); if(temp!=0 && !contains(a,temp)) { a[index++] = temp; System.out.println(temp); }else { System.out.println("重复了"); } } } public static boolean contains(int[] a,int temp) { for(int i=0;i<a.length;i++) { if(a[i]==temp) { return true; } } return false; } }
三、 主要集合概述
1.Java集合中主要有三种重要的类型:
(1)List:是一个有序集合,可以放重复的数据;
(2)Set:是一个无序集合,不允许重复的数据;
(3)Map:是一个无序集合,集合中包含一个键对象,一个值对象,键对象不允许重复,值对象可以是重复的(例如:身份证号--姓名)
注意点:集合只能存储对象类型(Object,Integer,Long.......),不能存储基本数据类型(int,boolean......)?
四、源码:
D81_1_EnumerationExample.java
D81_2_FiveNonredundantNumber.java
D81_3_UMLProgrammeSet.java
https://github.com/ruigege66/Java/blob/master/D81_1_EnumerationExample.java
https://github.com/ruigege66/Java/blob/master/D81_2_FiveNonredundantNumber.java
https://github.com/ruigege66/Java/blob/master/D81_3_UMLProgrammeSet.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
以上是关于java如何生成不重复8位String类型字符串?的主要内容,如果未能解决你的问题,请参考以下文章