看板 java 關於我們 聯絡資訊
※ 引述《smith80512 (Henry)》之銘言: : 想請問版上前輩們 : 文章內容已經分割成字串陣列 : 如何計數該陣列重複的字串? : 並指顯示最多出現和次多出現的字串 : 以及利用ArrayList回傳? 1. 使用TreeMap, key: 字串 value:顯示次數 2. 在Constructor裡面寫Comparator,並Override compare method 把你要的logic寫入 3. for each所有String array,插入TreeMap, if 已經插入 value++ else 插入新紀錄 value = 1 4. TreeMap就已經依顯示次數排好序 如果每次都要collection sort是有一點沒有效率 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 121.98.152.58 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1412937171.A.35A.html
cyclone350: collection sort只會有一次喔~~ 最後結算時才會 sort 10/10 19:56
你可能要看一下Collections 的sort用的是哪一種data structure 不是甚麼東西都可以丟到Collections去sort... Map就不行,請問用Map要怎麼樣轉成List再sort,願聞高見
HuangJC: 一般 sort 應該都是用 qsort 實作的吧,程式短又有效率 10/10 20:01
HuangJC: 可是我曾有一個需求:插入一個新值在已sort的陣列內resort 10/10 20:02
HuangJC: 這種 resort 不知它效率如何,可能就要自己打造了 10/10 20:02
HuangJC: 為什麼有這需求呢?因為我要收比如5000個有效數,剔除重 10/10 20:03
HuangJC: 覆;因此我就先讀取5000筆數字,排序後才容易剔除重覆 10/10 20:03
HuangJC: 第一次做完,比如有500筆重覆,那就再讀500筆,再resort 10/10 20:04
HuangJC: 總之就一直補讀重覆的部份,最後也許讀了7000筆才湊足 10/10 20:04
HuangJC: 目前我是手動做(行政),很累;如果要再做我就會寫程式了 10/10 20:05
※ 編輯: pelicanper (121.98.152.58), 10/10/2014 21:05:55 ※ 編輯: pelicanper (121.98.152.58), 10/10/2014 21:06:45