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

看板java作者時間18年前 (2007/05/22 19:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/12 (看更多)
※ 引述《tkcn (小安)》之銘言: : ※ 引述《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, : 也許就能夠省去一大堆不必要的時間。 謝謝指教 我等下來試試看直接指定大小來處理. 還有shuffle雖好用, 但我剛發現它也增加了25%的處理時間 待我稍微改進後再來跟大家報告 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.180.59
文章代碼(AID): #16KjWKjh (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 3 之 12 篇):
文章代碼(AID): #16KjWKjh (java)