確定需要擴容之後,先計算原來陣列的長度,如果已經等於最大值了那就不可能再擴容了,直接返回。
如果不是,創新乙個新的新長度的陣列。然後執行轉移方法。
轉移方法:for迴圈遍歷原陣列,遍歷每乙個entry,首先儲存entry中的下乙個entry。(下一次需要迴圈的)。判斷是否需要重新計算hash值,如果需要就重新計算。根據hash和新陣列的長度算出新索引位置,將新陣列上的資料儲存到正在迴圈的entry中的entry成員變數上,再將正在迴圈的entry放到索引處,效果上來看就是在該索引處從頭部插入了該資料,這就完成了乙個資料的轉移。最後將要迴圈的資料換成開始儲存的下一條資料。一直執行到轉移全部資料。最後將新陣列賦值給hashmap的陣列上,並且將臨界值設定成新陣列的長度乘以負載係數。擴容完畢。
快速轉移資料方法
如果你要把oracle裡的大量資料 80m以上 轉移到另外的使用者,另外的表空間裡。可以用下面介紹的快速轉移 資料的方法。一 建新表的方式create table target tablename tablespace target tablespace name nologging pctfree...
手工轉移資料庫Step By Step
手工轉移資料庫 step by step author kamus mail kamus itpub.date 2004 1 有時候我們會遇到這樣的情況,現有的資料庫要從乙個機器轉移到另外乙個機器上,一般我們會使用匯出,匯入。但是如果資料庫的資料非常多,資料檔案尺寸很大,那麼在匯出匯入的過程就很可能...
VF6 0與C 的轉移資料
在vfp的程式中新建txt檔案,將vfp評析結果放入txt 新建及刪除txt檔案 vfp cscore d score.txt if file cscore dele file d a.txt x fcreate d score.txt fputs x,alltrim str score all f...