我的txt文件,該文件中記錄的形式有數據(每行是一個記錄,代表或多或少像一個數據庫表)的輸入和我需要找到重複的值。例如:如何搜索在一個巨大的文本文件中有重複的值周圍五十萬條記錄
Rec1: ACCOUNT_NBR_1*NAME_1*VALUE_1
Rec2: ACCOUNT_NBR_2*NAME_2*VALUE_2
Rec3: ACCOUNT_NBR_1*NAME_3*VALUE_3
在上述組中,REC1和REC2被認爲是重複的帳戶號碼是相同的(ACCOUNT_NBR1)。
注意:上面顯示的輸入文件是分隔符類型文件(分隔符是*),但文件類型也可以是固定長度文件,其中每列以指定位置開始和結束。
我目前這樣做有以下邏輯:
Loop thru each ACCOUNT NUMBER
Loop thru each line of the txt file and record and check if this is repeated.
If repeated record the same in a hashtable.
End
End
,我使用「模式」 &「的BufferedReader的Java API來執行上述任務。
但由於它走的是一條很長一段時間,我想知道的處理它一個更好的辦法。
感謝, 石埠
感謝V,我非常關心內存使用情況w.r.t上面的方法,因爲正如你所說的,HashMap和500K記錄(int值)將適合幾MB的內存,將繼續採用這種方法。 – Shibu 2010-04-08 07:36:34