我在數據結構與問題使用Java書解決以下問題:以相反順序打印任何集合中的項目?
編寫使用集合API中以相反的順序任何集合打印出來的物品的程序。不要使用ListIterator。
我沒有把它放在這裏,因爲我想要有人做我的功課,我似乎無法完全理解它是什麼要求我編碼!
當它要求我寫一個'例程'時,它是在尋找一種方法嗎?我真的不知道如何爲所有不同類型的集合(鏈接列表,隊列,堆棧)創建單一方法。
如果有人能指引我走向正確的方向,我將不勝感激。
我在數據結構與問題使用Java書解決以下問題:以相反順序打印任何集合中的項目?
編寫使用集合API中以相反的順序任何集合打印出來的物品的程序。不要使用ListIterator。
我沒有把它放在這裏,因爲我想要有人做我的功課,我似乎無法完全理解它是什麼要求我編碼!
當它要求我寫一個'例程'時,它是在尋找一種方法嗎?我真的不知道如何爲所有不同類型的集合(鏈接列表,隊列,堆棧)創建單一方法。
如果有人能指引我走向正確的方向,我將不勝感激。
不管賺不了多少意義,因爲藏品有一半的有固定順序沒有gstable排序(即TreeSet的或PriorityQueue中),可以使用下面的語句用於打印的內容收集反自然的順序:
List temp = new ArrayList(src);
Collections.reverse(temp);
System.out.println(temp);
我本質上創建一個數組列表,列表是可以任意重新排序的唯一結構。您將src集合傳遞給構造函數,該構造函數以集合自然順序將列表中的內容初始化爲src的內容。然後,您將該列表傳遞給集合。reverse()方法顛倒列表並最終打印它。
那麼你可以有一個例程,基於輸入類型委託給其他例程,但是我不確定是否有足夠通用的集合類型可以包含在一個參數中。我想你可以使用方法重載(具有多個同名的方法,但接受不同的參數)。
這在技術上可以算作1例程(都具有相同的名稱)。
首先,我相信它是要求你寫一個方法。像:
void printReverseList(Collection col) {}
然後有很多方法可以做到這一點。例如,只使用Collection API,使用toArray方法並使用for循環從最後打印出所有項目。合理?
對於使用Collection接口的各種類,它將自動適用於所有這些類,因爲它們必須實現接口(只要它們以一種理智的方式實現它;)。
我不知道太多的Java,但考慮到「集合API」我想所有這些對象實現一個接口,你可以遍歷通過某種途徑。我想他們都可以有一個itemAtIndex(int index)和length()或類似的方法,你可以使用。
非常感謝你的想法 – VeePee 2008-10-13 04:24:33
沒有問題 - 祝你好運。 – AdamC 2008-10-13 17:03:34