案例:不重复的随机数
-
案例:不重复的随机数
需求:编写一个程序,获取10个1~20之间的随机数,要求随机数不能重复,并在控制台输出 -
思路:
创建Set集合对象
创建随机数对象
判断集合的长度是不是小于10,是:就产生随机数,添加到集合
遍历集合内容要求随机数是int类型
以代码内容讲解
Demo类
package CCom.Cnn;
import java.util.HashSet;
import java.util.Random;
import java.util.TreeSet;
/*
案例:不重复的随机数
需求:编写一个程序,获取10个1~20之间的随机数,要求随机数不能重复,并在控制台输出
思路:
创建Set集合对象
创建随机数对象
判断集合的长度是不是小于10,是:就产生随机数,添加到集合
遍历集合内容要求随机数是int类型
*/
public class Demo {
public static void main(String[] args) {
//创建TreeSet集合
TreeSet<Integer> ii = new TreeSet<>();//10个有序的随机数
//创建HashSet集合
HashSet<Integer> iii = new HashSet<>();//10个无序的随机数
//建立Random随机类
Random r = new Random();
for (int i = 0; i <10;i++){
int i1 = r.nextInt(20) + 1;//不加1则是0~19,加1则是1~20
ii.add(i1);
iii.add(i1);
}
//遍历集合内容(foreach循环遍历和Iterator迭代器都可以)
System.out.println("使用TreeSet集合会有序遍历");
for (Integer x:ii) {
System.out.println(x.intValue());
}
System.out.println("================================");
System.out.println("使用HashSet集合会无序遍历");
for (Integer x:iii) {
System.out.println(x.intValue());
}
}
}
输出的内容:
使用TreeSet集合会有序遍历
1
3
8
9
10
12
14
18
================================
使用HashSet集合会无序遍历
1
18
3
8
9
10
12
14