作者tkcn (小安)
看板java
标题Re: [问题] 有没有办法取代或改善List的效率?
时间Tue May 22 19:23:16 2007
※ 引述《Mewra ()》之铭言:
: 目前的程式需要处理1000K以上的node,
: 这部份的运作程式如下
: ArrayList<Integer> originalRandomArray = new ArrayList<Integer>();
: protected ArrayList<Integer> randomArray = new ArrayList<Integer>();
: 这部份code的目的是将originalRandomArray里取出来的CHANCE_MOVE%个nodes存到
: randomArray去. 但整个程式在nodeNumber = 1000000时, 处理时间多了2小时
: (原本是1小时, 但是是用简单的方法做出一个不完全的random).
: 请问有办法改进效率吗? 谢谢
其实 ArrayList 内部是透过阵列实作, (预设长度是 10)
而当阵列大小不够用时,
就会再重新产生一个长度为原先 1.5 倍的阵列,
并且将阵列中所有元素复制过去。
所以我的想法是...
如果能够一开始就指定适当的 initialCapacity,
也许就能够省去一大堆不必要的时间。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.131.71.204