我被困在包含泛型和ArrayList
的任務中。該任務是通過定義一個優先級隊列類來實現一個優先級隊列,該隊列能夠保存任意類型的對象T
,該優先級隊列類使用ArrayList
實現隊列。要支持泛型和ArrayList實現優先級隊列
的方法是Add(item, priority)
,並根據優先級remove()
消除在優先級列表最高的項目。
我創建了類型爲T
的通用類,聲明爲private T data
。使用多個構造函數來設置數據。現在我被困在如何使用這個類和使用ArrayList
,因爲我不知道你可以add(string, integer)
在ArrayList
更不用說遍歷它。
關於如何處理這個作業的任何提示和想法將不勝感激。
可以以支持元素的對比使用'Comparable'和'Comparator'接口。請注意,在Java'PriorityQueue'類中[有一個構造函數接受'Comparator'](http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html#PriorityQueue% 28int,%20java.util.Comparator%29) –
2013-04-11 21:17:02
檢查以下鏈接(「Queue」實現教程以及「PriorityQueue」,「Comparable」和「Comparator」的文檔):http://docs.oracle。 com/javase/tutorial/collections/implements/queue.html http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html http://docs.oracle.com/javase/ 7/docs/api/java/lang/Comparable.html http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html – Barranka 2013-04-11 21:21:10
在SO中,您通常應該包含您擁有的代碼(可能會先清理它,如果它是凌亂的......),雖然作業可能有它自己的問題......還提示:你需要一個內部或嵌套的類,它將具有項目和優先級屬性。然後,您可以將此類的實例存儲在'ArrayList'中,您應該始終保持「手動」排序。 – hyde 2013-04-11 21:21:24