作者garywine1201 (那是啥)
看板java
標題Re: [問題] 刪除文字檔內重覆的字東西
時間Thu Jan 22 08:55:09 2009
※ 引述《divaka (希望每個人都活的自在)》之銘言:
: 各位好 !
: 因為我不知道這個問題該用什麼關鍵字爬文找答案,所以跑來這發問了
: 希望沒有違反到版規
: --------------------------------以下是問題---------------------------
: 假設現在我有一個 txt 檔,內容如下
: 我,你,他,我,你,他,你,你,你
: 但我並不希望裡面有重覆的字出現,所以希望利用程式碼改成
: 你,我,他
: 並存成新的 txt 檔,請問我該怎麼做比較好呢..?
: 或是怎樣的思考方式
: 謝謝!!
split(文字檔,",");
linkedlist new;
for(every word){
if(!new.contain(word))
new.add(word)
}
store into new file
我的想法只有這樣...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.161.76.3
1F:推 cgkm:即使記憶體不是問題的話 這裡用 linked list 實在不妥當 01/22 09:49
2F:推 MonyemLi:以前試過讀40M的log分析,用linkedlist 很快就炸了 01/22 12:24
3F:推 qrtt1:為什麼不用 awk, uniq 或直接寫 perl 來搞定呢 @@? 01/22 13:05
4F:推 ClareQ:用List作contains搜尋,效率非常糟糕... 01/22 18:20
5F:→ ClareQ:(糟糕是指跟HashSet或TreeSet比較) 01/22 18:22
發問者並沒有提到它所要讀取程式檔案的大小
也許只是一個很小的程式
也許在大檔案上效率很恐怖
但在可容許範圍內這樣做就好了
除非發問者又提出了新的限制與需求
我才會認為應該更進一步的考慮其他作法
否則以快速達成目的 開發可用的程式是第一原則
其次為擴充物件 使其可以更有效率的處理問題
※ 編輯: garywine1201 來自: 61.64.235.79 (01/23 19:01)
6F:→ garywine1201:喔對了 話說awk, perl之類的開發上真的比較快 01/23 19:06
7F:→ garywine1201:在執行效率上 awk這種直譯語言說不定還比java快 01/23 19:11