看板 java 關於我們 聯絡資訊
各位好 ! 因為我不知道這個問題該用什麼關鍵字爬文找答案,所以跑來這發問了 希望沒有違反到版規 --------------------------------以下是問題--------------------------- 假設現在我有一個 txt 檔,內容如下 我,你,他,我,你,他,你,你,你 但我並不希望裡面有重覆的字出現,所以希望利用程式碼改成 你,我,他 並存成新的 txt 檔,請問我該怎麼做比較好呢..? 或是怎樣的思考方式 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.72.222
yyc1217:先排序 再用迴圈跑? 若下一個等於現在這個 就刪掉 01/20 23:32
infinitlee:塞到Set裡,在讀出來 01/21 00:08
cgkm:檔案小 => 二樓 檔案未必小 => 一樓 01/21 03:41
cgkm:混合式:第一回合,先塞入 set,塞滿後排序然後寫入暫存檔 01/21 03:52
cgkm: 第二回合:merge 所有的暫存檔, 同時剔除重複的字 01/21 04:05
ClareQ:用Set操作就沒錯啦...不需排序還是什麼暫存檔的反而沒效率 01/21 07:59
TonyQ:ClareQ , cgkm 提的混合式 ,恐怕是在一個記憶體空間塞不下的 01/21 08:16
TonyQ:狀況下才會用到的東西 ,應該只是考慮到不常見的特殊情境. :p 01/21 08:17
rukawa0328:特殊情況?可以舉個例子?感覺這方法並無法解決空間問題~ 01/21 11:46
TonyQ:在字串極大跟數量極多下,目的應是分離成多個子問題來求解. 01/21 14:00
LyinZ:他說的應該是寫暫存檔吧? 01/21 22:45
ClareQ:當然也可以實作出以磁碟IO為主來取代記憶體存取的Set 01/22 00:48
ClareQ:用Set比自己實作資料處理流程,更易懂好維護和抽換實作啊^^ 01/22 00:51
sbrhsieh:檔案極大不代表樣本數極大. 01/22 02:40
sbrhsieh:排序對空間的需求不是更嚴苛? 01/22 02:43
cgkm:限制一次排序數量 然後用 mergesort 的 merge 01/22 03:16