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

看板java作者時間18年前 (2007/05/22 18:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/12 (看更多)
目前的程式需要處理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)
文章代碼(AID): #16KiPaVT (java)
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 12 篇):
文章代碼(AID): #16KiPaVT (java)