Re: [問題] 有沒有辦法取代或改善List的效率?
※ 引述《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
討論串 (同標題文章)