《java入門第一季》之HashSet小案例:獲取10個1至20的隨機數,要求隨機數不能重複
阿新 • • 發佈:2019-01-23
這是基於HashSet集合的唯一性。
/*
* 編寫一個程式,獲取10個1至20的隨機數,要求隨機數不能重複。
*
* 分析:
* A:建立隨機數物件
* B:建立一個HashSet集合
* C:判斷集合的長度是不是小於10
* 是:就建立一個隨機數新增
* 否:不搭理它
* D:遍歷HashSet集合
*/
程式碼寫了出來:
import java.util.HashSet; import java.util.Random; public class HashSetDemo { public static void main(String[] args) { // 建立隨機數物件 Random r = new Random(); // 建立一個Set集合 HashSet<Integer> ts = new HashSet<Integer>();//Integer已經重寫了hashcode和equals方法, //所以自動判斷是否相同,且排除相同元素,保證了元素的唯一性 // 判斷集合的長度是不是小於10。總共10個數 while (ts.size() < 10) { int num = r.nextInt(20)+1; ts.add(num);//HashSet保證元素唯一性,重複的數值根本存不進去。原因歸結為Integer已經重寫了hashcode和equals方法, } // 遍歷Set集合 for (Integer i : ts) { System.out.println(i); } } }
結果:
19
4
20
7
8
10
11
13
14
15
不會出現重複。