說我有喜歡一個對象可以有多個比較方法來根據不同的值進行排序嗎?
public Song(){
String artist, title;
StringBuilder lyrics;
int rank;
}
樂曲對象是否有可能有比較多的是,根據收集使用的方法,排序的特定字段?這個對象已經有一個基於藝術家和標題值的排序比較方法,我希望能夠根據排名進行排序。
我目前的項目要求我們對歌曲的歌詞進行搜索並返回一個高到低的匹配列表。我想使用PriorityQueue來根據等級值來保存比賽。
通常我會簡單地創建另一個對象來保存歌曲和等級,但是這個項目不僅插入教授提供的GUI界面,它需要在Song []數組中傳遞任何結果,而是打印出前十個值爲排名,藝術家,標題。
我可以使用toArray()來轉換隊列,但如果我使用它來存儲Song對象以外的任何東西,它將拋出ArrayStoreException。
那麼這是可能的,還是我必須修改現有的比較方法按整數值排序?
這是我做的,就像插入一個項目成一個PriorityQueue魅力 – Jason 2010-12-02 05:36:13