Re: [問題] 刪除文字檔內重覆的字東西

看板java作者 (那是啥)時間17年前 (2009/01/22 08:55), 編輯推噓4(403)
留言7則, 5人參與, 最新討論串3/3 (看更多)
※ 引述《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

01/22 09:49, , 1F
即使記憶體不是問題的話 這裡用 linked list 實在不妥當
01/22 09:49, 1F

01/22 12:24, , 2F
以前試過讀40M的log分析,用linkedlist 很快就炸了
01/22 12:24, 2F

01/22 13:05, , 3F
為什麼不用 awk, uniq 或直接寫 perl 來搞定呢 @@?
01/22 13:05, 3F

01/22 18:20, , 4F
用List作contains搜尋,效率非常糟糕...
01/22 18:20, 4F

01/22 18:22, , 5F
(糟糕是指跟HashSet或TreeSet比較)
01/22 18:22, 5F
發問者並沒有提到它所要讀取程式檔案的大小 也許只是一個很小的程式 也許在大檔案上效率很恐怖 但在可容許範圍內這樣做就好了 除非發問者又提出了新的限制與需求 我才會認為應該更進一步的考慮其他作法 否則以快速達成目的 開發可用的程式是第一原則 其次為擴充物件 使其可以更有效率的處理問題 ※ 編輯: garywine1201 來自: 61.64.235.79 (01/23 19:01)

01/23 19:06, , 6F
喔對了 話說awk, perl之類的開發上真的比較快
01/23 19:06, 6F

01/23 19:11, , 7F
在執行效率上 awk這種直譯語言說不定還比java快
01/23 19:11, 7F
文章代碼(AID): #19TyFky2 (java)
文章代碼(AID): #19TyFky2 (java)