我有一個字符串來源(讓我們說,一個文本文件)和許多字符串重複多次。我需要按照出現次數減少的順序獲取頂部X最常見的字符串。比較TreeBag按發生次數排序
浮現在腦海的第一個想法是創建一個排序包(類似org.apache.commons.collections.bag.TreeBag),並提供一個比較,將在我需要的順序排序條目。但是,我無法弄清楚我需要比較哪些類型的對象。它應該是某種內部映射,它結合了我的對象(String)和由TreeBag在內部生成的出現次數。這可能嗎?
不然我就只需使用一個HashMap更好和描述,例如,通過值排序,Java sort HashMap by value
謝謝阿德里安。我最終實現了它作爲一個可排序的散列表,但堆是一個不錯的主意 - 下一次我會看看像自定義比較器的PriorityQueue。 – AlexR 2012-03-24 04:01:29