看板 java 關於我們 聯絡資訊
※ 引述《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
cgkm:即使記憶體不是問題的話 這裡用 linked list 實在不妥當 01/22 09:49
MonyemLi:以前試過讀40M的log分析,用linkedlist 很快就炸了 01/22 12:24
qrtt1:為什麼不用 awk, uniq 或直接寫 perl 來搞定呢 @@? 01/22 13:05
ClareQ:用List作contains搜尋,效率非常糟糕... 01/22 18:20
ClareQ:(糟糕是指跟HashSet或TreeSet比較) 01/22 18:22
發問者並沒有提到它所要讀取程式檔案的大小 也許只是一個很小的程式 也許在大檔案上效率很恐怖 但在可容許範圍內這樣做就好了 除非發問者又提出了新的限制與需求 我才會認為應該更進一步的考慮其他作法 否則以快速達成目的 開發可用的程式是第一原則 其次為擴充物件 使其可以更有效率的處理問題 ※ 編輯: garywine1201 來自: 61.64.235.79 (01/23 19:01)
garywine1201:喔對了 話說awk, perl之類的開發上真的比較快 01/23 19:06
garywine1201:在執行效率上 awk這種直譯語言說不定還比java快 01/23 19:11