java实现的根据概率随机中奖测试类
本文实例讲述了java实现的根据概率随机中奖测试类。分享给大家供大家参考,具体如下:
最近要做一个宝箱抽奖的功能自己先联系了一下,分别用list和set进行存储和抽取,做了一个时间消耗的对比,感觉list应该比set读取的要快些,但是这也不一定,希望大家能够共同讨论。
废话少说上代码:
packagecom.test.testRandom; importjava.util.ArrayList; importjava.util.HashSet; importjava.util.Iterator; importjava.util.List; importjava.util.Random; importjava.util.Set; /**根据概率获取奖品的测试类*/ publicclassTestRandom{ publicstaticvoidmain(String[]args){ TestRandomtr=newTestRandom(); //用List随机 longbegin=System.currentTimeMillis(); for(inti=0;i<100;i++){ tr.getGumByList(); } System.out.println("list使用时间:"+(System.currentTimeMillis()-begin)); //用set随机 longbegin1=System.currentTimeMillis(); for(inti=0;i<100;i++){ tr.getGumBySet(); } System.out.println("set使用时间:"+(System.currentTimeMillis()-begin1)); } /*Set获取*/ voidgetGumBySet(){ intrandom=newRandom().nextInt(100); intprizeRate=0;//中奖率 Iteratorit=initSetGems().iterator(); while(it.hasNext()){ Gemgem=it.next(); prizeRate+=gem.getPriority(); if(random it=initGems().iterator(); while(it.hasNext()){ Gemgem=it.next(); prizeRate+=gem.getPriority(); if(random initGems(){ List gums=newArrayList (); gums.add(newGem("20",20)); gums.add(newGem("7",7)); gums.add(newGem("30",30)); gums.add(newGem("24",40)); gums.add(newGem("3",3)); returngums; } /**初始化set*/ Set initSetGems(){ Set gums=newHashSet (); gums.add(newGem("20",20)); gums.add(newGem("7",7)); gums.add(newGem("30",30)); gums.add(newGem("24",40)); gums.add(newGem("3",3)); returngums; } /**奖品类*/ classGem{ /**奖品名称*/ privateStringname; /**奖品概率*/ privateintpriority; publicGem(){ super(); } publicGem(Stringname,intpriority){ super(); this.name=name; this.priority=priority; } @Override publicStringtoString(){ return"Gum[name="+name+",priority="+priority+"]"; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicintgetPriority(){ returnpriority; } publicvoidsetPriority(intpriority){ this.priority=priority; } } }
运行结果:
奖品为:20 概率:20随机数random:17概率基数prizeRate:20
奖品为:30 概率:30随机数random:54概率基数prizeRate:57
奖品为:3 概率:3随机数random:99概率基数prizeRate:100
奖品为:24 概率:40随机数random:87概率基数prizeRate:97
奖品为:24 概率:40随机数random:75概率基数prizeRate:97
奖品为:7 概率:7随机数random:21概率基数prizeRate:27
奖品为:20 概率:20随机数random:9概率基数prizeRate:20
奖品为:24 概率:40随机数random:77概率基数prizeRate:97
奖品为:20 概率:20随机数random:10概率基数prizeRate:20
奖品为:24 概率:40随机数random:83概率基数prizeRate:97
奖品为:30 概率:30随机数random:40概率基数prizeRate:57
奖品为:24 概率:40随机数random:78概率基数prizeRate:97
奖品为:24 概率:40随机数random:58概率基数prizeRate:97
奖品为:30 概率:30随机数random:44概率基数prizeRate:57
奖品为:7 概率:7随机数random:26概率基数prizeRate:27
奖品为:30 概率:30随机数random:56概率基数prizeRate:57
奖品为:24 概率:40随机数random:80概率基数prizeRate:97
奖品为:30 概率:30随机数random:50概率基数prizeRate:57
奖品为:30 概率:30随机数random:34概率基数prizeRate:57
奖品为:30 概率:30随机数random:27概率基数prizeRate:57
奖品为:20 概率:20随机数random:4概率基数prizeRate:20
奖品为:24 概率:40随机数random:87概率基数prizeRate:97
奖品为:20 概率:20随机数random:0概率基数prizeRate:20
奖品为:24 概率:40随机数random:96概率基数prizeRate:97
奖品为:7 概率:7随机数random:20概率基数prizeRate:27
奖品为:30 概率:30随机数random:44概率基数prizeRate:57
奖品为:30 概率:30随机数random:50概率基数prizeRate:57
奖品为:7 概率:7随机数random:23概率基数prizeRate:27
奖品为:24 概率:40随机数random:87概率基数prizeRate:97
奖品为:24 概率:40随机数random:93概率基数prizeRate:97
奖品为:30 概率:30随机数random:35概率基数prizeRate:57
奖品为:24 概率:40随机数random:79概率基数prizeRate:97
奖品为:30 概率:30随机数random:41概率基数prizeRate:57
奖品为:30 概率:30随机数random:42概率基数prizeRate:57
奖品为:24 概率:40随机数random:66概率基数prizeRate:97
奖品为:30 概率:30随机数random:50概率基数prizeRate:57
奖品为:30 概率:30随机数random:43概率基数prizeRate:57
奖品为:24 概率:40随机数random:88概率基数prizeRate:97
奖品为:30 概率:30随机数random:41概率基数prizeRate:57
奖品为:24 概率:40随机数random:74概率基数prizeRate:97
奖品为:24 概率:40随机数random:96概率基数prizeRate:97
奖品为:24 概率:40随机数random:90概率基数prizeRate:97
奖品为:24 概率:40随机数random:96概率基数prizeRate:97
奖品为:20 概率:20随机数random:2概率基数prizeRate:20
奖品为:24 概率:40随机数random:68概率基数prizeRate:97
奖品为:7 概率:7随机数random:25概率基数prizeRate:27
奖品为:20 概率:20随机数random:13概率基数prizeRate:20
奖品为:30 概率:30随机数random:52概率基数prizeRate:57
奖品为:30 概率:30随机数random:32概率基数prizeRate:57
奖品为:30 概率:30随机数random:54概率基数prizeRate:57
奖品为:24 概率:40随机数random:71概率基数prizeRate:97
奖品为:24 概率:40随机数random:90概率基数prizeRate:97
奖品为:3 概率:3随机数random:97概率基数prizeRate:100
奖品为:30 概率:30随机数random:52概率基数prizeRate:57
奖品为:24 概率:40随机数random:65概率基数prizeRate:97
奖品为:24 概率:40随机数random:87概率基数prizeRate:97
奖品为:30 概率:30随机数random:35概率基数prizeRate:57
奖品为:30 概率:30随机数random:37概率基数prizeRate:57
奖品为:30 概率:30随机数random:55概率基数prizeRate:57
奖品为:24 概率:40随机数random:77概率基数prizeRate:97
奖品为:24 概率:40随机数random:78概率基数prizeRate:97
奖品为:30 概率:30随机数random:53概率基数prizeRate:57
奖品为:20 概率:20随机数random:4概率基数prizeRate:20
奖品为:24 概率:40随机数random:80概率基数prizeRate:97
奖品为:20 概率:20随机数random:10概率基数prizeRate:20
奖品为:24 概率:40随机数random:69概率基数prizeRate:97
奖品为:30 概率:30随机数random:34概率基数prizeRate:57
奖品为:24 概率:40随机数random:80概率基数prizeRate:97
奖品为:24 概率:40随机数random:68概率基数prizeRate:97
奖品为:30 概率:30随机数random:28概率基数prizeRate:57
奖品为:24 概率:40随机数random:96概率基数prizeRate:97
奖品为:24 概率:40随机数random:66概率基数prizeRate:97
奖品为:20 概率:20随机数random:0概率基数prizeRate:20
奖品为:24 概率:40随机数random:66概率基数prizeRate:97
奖品为:24 概率:40随机数random:95概率基数prizeRate:97
奖品为:24 概率:40随机数random:77概率基数prizeRate:97
奖品为:20 概率:20随机数random:10概率基数prizeRate:20
奖品为:7 概率:7随机数random:24概率基数prizeRate:27
奖品为:30 概率:30随机数random:31概率基数prizeRate:57
奖品为:24 概率:40随机数random:80概率基数prizeRate:97
奖品为:24 概率:40随机数random:68概率基数prizeRate:97
奖品为:30 概率:30随机数random:54概率基数prizeRate:57
奖品为:30 概率:30随机数random:47概率基数prizeRate:57
奖品为:24 概率:40随机数random:66概率基数prizeRate:97
奖品为:24 概率:40随机数random:78概率基数prizeRate:97
奖品为:30 概率:30随机数random:39概率基数prizeRate:57
奖品为:30 概率:30随机数random:55概率基数prizeRate:57
奖品为:30 概率:30随机数random:50概率基数prizeRate:57
奖品为:30 概率:30随机数random:54概率基数prizeRate:57
奖品为:30 概率:30随机数random:33概率基数prizeRate:57
奖品为:30 概率:30随机数random:55概率基数prizeRate:57
奖品为:24 概率:40随机数random:80概率基数prizeRate:97
奖品为:24 概率:40随机数random:72概率基数prizeRate:97
奖品为:3 概率:3随机数random:98概率基数prizeRate:100
奖品为:24 概率:40随机数random:67概率基数prizeRate:97
奖品为:24 概率:40随机数random:82概率基数prizeRate:97
奖品为:7 概率:7随机数random:22概率基数prizeRate:27
奖品为:24 概率:40随机数random:66概率基数prizeRate:97
奖品为:20 概率:20随机数random:7概率基数prizeRate:20
奖品为:30 概率:30随机数random:43概率基数prizeRate:57
list使用时间:20
奖品为:7 概率:7随机数random:2概率基数prizeRate:7
奖品为:24 概率:40随机数random:49概率基数prizeRate:60
奖品为:24 概率:40随机数random:58概率基数prizeRate:67
奖品为:20 概率:20随机数random:51概率基数prizeRate:60
奖品为:24 概率:40随机数random:68概率基数prizeRate:80
奖品为:24 概率:40随机数random:30概率基数prizeRate:50
奖品为:24 概率:40随机数random:25概率基数prizeRate:60
奖品为:20 概率:20随机数random:41概率基数prizeRate:60
奖品为:24 概率:40随机数random:63概率基数prizeRate:100
奖品为:30 概率:30随机数random:15概率基数prizeRate:37
奖品为:30 概率:30随机数random:28概率基数prizeRate:30
奖品为:24 概率:40随机数random:80概率基数prizeRate:97
奖品为:20 概率:20随机数random:84概率基数prizeRate:97
奖品为:3 概率:3随机数random:0概率基数prizeRate:3
奖品为:24 概率:40随机数random:62概率基数prizeRate:97
奖品为:30 概率:30随机数random:17概率基数prizeRate:33
奖品为:20 概率:20随机数random:9概率基数prizeRate:23
奖品为:24 概率:40随机数random:17概率基数prizeRate:47
奖品为:20 概率:20随机数random:79概率基数prizeRate:90
奖品为:30 概率:30随机数random:47概率基数prizeRate:50
奖品为:24 概率:40随机数random:96概率基数prizeRate:97
奖品为:24 概率:40随机数random:37概率基数prizeRate:50
奖品为:30 概率:30随机数random:74概率基数prizeRate:97
奖品为:30 概率:30随机数random:57概率基数prizeRate:77
奖品为:24 概率:40随机数random:43概率基数prizeRate:47
奖品为:30 概率:30随机数random:36概率基数prizeRate:60
奖品为:24 概率:40随机数random:42概率基数prizeRate:50
奖品为:20 概率:20随机数random:22概率基数prizeRate:23
奖品为:24 概率:40随机数random:84概率基数prizeRate:100
奖品为:24 概率:40随机数random:24概率基数prizeRate:43
奖品为:24 概率:40随机数random:72概率基数prizeRate:97
奖品为:30 概率:30随机数random:12概率基数prizeRate:40
奖品为:24 概率:40随机数random:17概率基数prizeRate:40
奖品为:30 概率:30随机数random:22概率基数prizeRate:50
奖品为:20 概率:20随机数random:12概率基数prizeRate:20
奖品为:30 概率:30随机数random:60概率基数prizeRate:73
奖品为:24 概率:40随机数random:28概率基数prizeRate:60
奖品为:24 概率:40随机数random:41概率基数prizeRate:73
奖品为:24 概率:40随机数random:36概率基数prizeRate:47
奖品为:24 概率:40随机数random:80概率基数prizeRate:100
奖品为:30 概率:30随机数random:36概率基数prizeRate:37
奖品为:7 概率:7随机数random:46概率基数prizeRate:47
奖品为:24 概率:40随机数random:77概率基数prizeRate:100
奖品为:24 概率:40随机数random:79概率基数prizeRate:100
奖品为:7 概率:7随机数random:34概率基数prizeRate:37
奖品为:24 概率:40随机数random:39概率基数prizeRate:40
奖品为:30 概率:30随机数random:99概率基数prizeRate:100
奖品为:20 概率:20随机数random:43概率基数prizeRate:60
奖品为:7 概率:7随机数random:62概率基数prizeRate:67
奖品为:24 概率:40随机数random:42概率基数prizeRate:73
奖品为:7 概率:7随机数random:3概率基数prizeRate:7
奖品为:24 概率:40随机数random:86概率基数prizeRate:97
奖品为:24 概率:40随机数random:11概率基数prizeRate:43
奖品为:24 概率:40随机数random:58概率基数prizeRate:90
奖品为:24 概率:40随机数random:57概率基数prizeRate:77
奖品为:30 概率:30随机数random:52概率基数prizeRate:70
奖品为:7 概率:7随机数random:60概率基数prizeRate:67
奖品为:24 概率:40随机数random:85概率基数prizeRate:97
奖品为:20 概率:20随机数random:84概率基数prizeRate:97
奖品为:30 概率:30随机数random:84概率基数prizeRate:100
奖品为:24 概率:40随机数random:70概率基数prizeRate:73
奖品为:24 概率:40随机数random:83概率基数prizeRate:100
奖品为:24 概率:40随机数random:85概率基数prizeRate:93
奖品为:30 概率:30随机数random:75概率基数prizeRate:90
奖品为:20 概率:20随机数random:54概率基数prizeRate:70
奖品为:30 概率:30随机数random:51概率基数prizeRate:60
奖品为:24 概率:40随机数random:38概率基数prizeRate:40
奖品为:30 概率:30随机数random:52概率基数prizeRate:57
奖品为:20 概率:20随机数random:12概率基数prizeRate:23
奖品为:20 概率:20随机数random:14概率基数prizeRate:20
奖品为:24 概率:40随机数random:55概率基数prizeRate:90
奖品为:20 概率:20随机数random:45概率基数prizeRate:50
奖品为:7 概率:7随机数random:99概率基数prizeRate:100
奖品为:24 概率:40随机数random:32概率基数prizeRate:40
奖品为:30 概率:30随机数random:25概率基数prizeRate:50
奖品为:30 概率:30随机数random:96概率基数prizeRate:100
奖品为:20 概率:20随机数random:8概率基数prizeRate:20
奖品为:20 概率:20随机数random:17概率基数prizeRate:30
奖品为:20 概率:20随机数random:56概率基数prizeRate:60
奖品为:24 概率:40随机数random:3概率基数prizeRate:40
奖品为:7 概率:7随机数random:20概率基数prizeRate:27
奖品为:20 概率:20随机数random:3概率基数prizeRate:20
奖品为:24 概率:40随机数random:71概率基数prizeRate:100
奖品为:24 概率:40随机数random:44概率基数prizeRate:80
奖品为:24 概率:40随机数random:72概率基数prizeRate:93
奖品为:24 概率:40随机数random:73概率基数prizeRate:97
奖品为:20 概率:20随机数random:47概率基数prizeRate:50
奖品为:20 概率:20随机数random:58概率基数prizeRate:60
奖品为:24 概率:40随机数random:35概率基数prizeRate:70
奖品为:20 概率:20随机数random:12概率基数prizeRate:20
奖品为:30 概率:30随机数random:19概率基数prizeRate:30
奖品为:3 概率:3随机数random:7概率基数prizeRate:10
奖品为:24 概率:40随机数random:33概率基数prizeRate:60
奖品为:20 概率:20随机数random:83概率基数prizeRate:97
奖品为:30 概率:30随机数random:27概率基数prizeRate:30
奖品为:3 概率:3随机数random:99概率基数prizeRate:100
奖品为:24 概率:40随机数random:85概率基数prizeRate:100
奖品为:20 概率:20随机数random:89概率基数prizeRate:97
奖品为:30 概率:30随机数random:15概率基数prizeRate:30
奖品为:24 概率:40随机数random:41概率基数prizeRate:70
set使用时间:14
PS:这里再为大家提供几款功能类似的在线工具供大家参考:
在线随机数字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
在线随机字符/随机密码生成工具:
http://tools.jb51.net/aideddesign/rnd_password
高强度密码生成器:
http://tools.jb51.net/password/CreateStrongPassword
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java字符与字符串操作技巧总结》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。