Java实现随机无重复数字功能
作者:网络转载 发布时间:[ 2012/11/1 10:27:22 ] 推荐标签:
由于HashSet和HashMap的关系太近了,HashSet在底层是用HashMap来实现的,只不过没有Value的集合,只有一个Key的集合,所以也可使用HashSet来实现,如下代码:
import java.util.HashSet;
import java.util.Random;
/**
* 使用HashSet实现
* @Description:
* @File: Test.java
* @Package None
* @Author Hanyonglu
* @Date 2012-10-18 下午06:11:41
* @Version V1.0
*/
public class Test {
public static void main(String[] args) {
Random random = new Random();
Object[] values = new Object[20];
HashSet<Integer> hashSet = new HashSet<Integer>();
// 生成随机数字并存入HashSet
for(int i = 0;i < values.length;i++){
int number = random.nextInt(100) + 1;
hashSet.add(number);
}
values = hashSet.toArray();
// 遍历数组并打印数据
for(int i = 0;i < values.length;i++){
System.out.print(values[i] + " ");
if(( i + 1 ) % 10 == 0){
System.out.println("
");
}
}
}
}
这样实现效率稍微好些。如果给我们限定了数组的长度,只需要变换下for循环,设置成whlie循环可以了。如下所示:
import java.util.HashSet;
import java.util.Random;
/**
* 使用HashSet实现
* @Description:
* @File: Test.java
* @Package None
* @Author Hanyonglu
* @Date 2012-10-18 下午05:11:41
* @Version V1.0
*/
public class Test {
public static void main(String[] args) {
Random random = new Random();
Object[] values = new Object[20];
HashSet<Integer> hashSet = new HashSet<Integer>();
// 生成随机数字并存入HashSet
while(hashSet.size() < values.length){
hashSet.add(random.nextInt(100) + 1);
}
values = hashSet.toArray();
// 遍历数组并打印数据
for(int i = 0;i < values.length;i++){
System.out.print(values[i] + " ");
if(( i + 1 ) % 10 == 0){
System.out.println("
");
}
}
}
}
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11