Re: [問題] 有沒有辦法取代或改善List的效率?

看板java作者 (挑戰)時間18年前 (2007/05/23 21:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串12/12 (看更多)
看到原PO的程式碼,不曉得亂數範圍是否需落在0~nodeNumber裡面。 所以就插一腳寫了個亂數有落在範圍內,且不重複的版本。 我也捨棄了originalRandomArray,有寫錯不要鞭我...囧 private List<Integer> randomArray; private void GenerateRandomArray(int node , double chance) { final int size = (int)(node * chance); Random random = new Random(); HashSet<Integer> set = new HashSet<Integer>(size , 1.0f); while(set.size() < size) for(int i = size - set.size() ; i >= 0 ; --i) set.add(random.nextInt(node)); randomArray = new ArrayList<Integer>(set); Collections.shuffle(randomArray); } node = 1,000,000 chance = 0.99 time = 10,250 ms -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.229.166.204
文章代碼(AID): #16L41n5L (java)
討論串 (同標題文章)
文章代碼(AID): #16L41n5L (java)