作者pao0111 (挑战)
看板java
标题Re: [问题] 有没有办法取代或改善List的效率?
时间Wed May 23 21:24:00 2007
看到原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