1. 编写一个程序,获取10个1至20的随机数,要求随机数不能重复。
分析:
A: 创建随机数对象
B: 创建一个HashSet集合
C: 判断集合的长度是不是小于10
是:就创建一个随机数添加
否:不搭理它
D: 遍历HashSet集合
2. 代码示例:
1 package cn.itcast_08; 2 3 import java.util.HashSet; 4 import java.util.Random; 5 6 /* 7 * 编写一个程序,获取10个1至20的随机数,要求随机数不能重复。 8 * 9 * 分析: 10 * A:创建随机数对象 11 * B:创建一个HashSet集合 12 * C:判断集合的长度是不是小于10 13 * 是:就创建一个随机数添加 14 * 否:不搭理它 15 * D:遍历HashSet集合 16 */ 17 public class HashSetDemo { 18 public static void main(String[] args) { 19 // 创建随机数对象 20 Random r = new Random(); 21 22 // 创建一个Set集合 23 HashSet<Integer> ts = new HashSet<Integer>(); 24 25 // 判断集合的长度是不是小于10 26 while (ts.size() < 10) { 27 int num = r.nextInt(20) + 1; 28 ts.add(num); 29 } 30 31 // 遍历Set集合 32 for (Integer i : ts) { 33 System.out.println(i); 34 } 35 } 36 }
Integer已经实现了 Comparable<Integer>接口,下面把整型数据存储到HashSet<Integer>中,会自动判断有没有重复的元素。(元素的唯一性)
运行效果:
Java基础知识强化之集合框架笔记48:产生10个1~20之间的随机数(要求:随机数不能重复) 简洁版
原文:http://www.cnblogs.com/hebao0514/p/4858192.html