使用Set List來隨機生成50個1000以內的隨機數,並且不重複

昨天有位同學說,希望生成50個1000以內的隨機數,並且這些隨機數個個都要不同。其實這是個非常容易實現的。

首先我們得知道方法。其實很多搞學習java的同學,甚至在公司裏面實習的同學們都不太注意甚至都不知道有java API。這是很恐怖的事情。java爲我們提供了非常多的優秀函數去實現特定的功能,並不是說我們遇到了一個問題,就要從頭到尾子集編制算法去實現,很多時候,這在時間上是不允許的,並且你編制的程序不一定比java本身提供的更優秀。當然知道別人提供的算法/函數的實現原理/過程是非常重要的,但是充分的利用別人提供的API,對於一名java程序員來說也是相當重要的。

Set集合。相信很多人都聽說過Set集合,既然是集合,那麼集合中就不應該有相同的兩個元素。Set剛好有這條性質。這就爲我們實現很多特定需求提供幫助。簡單來說,如果Set集合裏面已經存在某個元素,而你又重複添加,當然會添加失敗,返回一個false,反之返回一個true。下面是一個簡單的實例1:


可以看出來,如果Set集合裏面已經存在了某個元素,再次插入的話,返回一個false,也就是插入失敗。

List列表。跟Set集合還是有點區別,但是List也不能夠實例化,只能夠用它的子類實例化,然後上轉型。List裏面允許有相同的元素,只要插入的元素類型與List剛開始申明的元素類型相同就會返回true。如實例2:

顯然插入成功。List集合的好處是,您不指導將來產生的數據有多少的情況下,List能夠動態的增加長度。

Foreach循環。Foreach循環比for循環要高效,尤其是在遍歷Set以及List等Collection的衆多子類對象的時候非常有用,這裏不再一一介紹。下面直接轉到正題,給出求1000以內的50個互不重複的隨機數的程序截圖,如實例3:

方法1


方法2


運行結果:

137 956 819 280 672 553 154 807 20 694 149 516 788 513 315 664 293 431 667 902 57 663 418 658 610 341 340 475 631 458 82 334 875 373 238 101 98 371 231 586 980 356 975 251 354 244 366 604 122 121



688 91 798 106 328 855 447 381 430 384 452 126 389 40 874 200 393 653 15 827 218 870 961 168 668 887 592 371 166 552 615 222 548 464 177 613 777 705 277 226 204 264 506 783 970 55 586 144 340 669 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章