作者Mewra ()
看板java
标题[问题] 有没有办法取代或改善List的效率?
时间Tue May 22 18:30:59 2007
目前的程式需要处理1000K以上的node,
这部份的运作程式如下
ArrayList<Integer> originalRandomArray = new ArrayList<Integer>();
protected ArrayList<Integer> randomArray = new ArrayList<Integer>();
public void GenerateRandomArray( int nodeNumber )
{
originalRandomArray.clear(); // initialize;
for( int i = 0 ; i < nodeNumber; i++ )
{
originalRandomArray.add( i );
}
Collections.shuffle( originalRandomArray );
randomArray.clear(); // initialize
for( int i = 0 ; i < originalRandomArray.size() ; i++ )
{
if( i < nodeNumber * CHANCE_MOVE )
{
randomArray.add( originalRandomArray.get( i ) );
}
}
}
这部份code的目的是将originalRandomArray里取出来的CHANCE_MOVE%个nodes存到
randomArray去. 但整个程式在nodeNumber = 1000000时, 处理时间多了2小时
(原本是1小时, 但是是用简单的方法做出一个不完全的random).
请问有办法改进效率吗? 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.180.59
※ 编辑: Mewra 来自: 123.193.180.59 (05/22 18:31)