1

我正在嘗試爲一個名爲Ship的類做迭代器。這是一個遺傳算法的例子。同一列表的多個不同意見

船的兩個關鍵屬性是重量和體積(揹包問題)。我想要一個迭代器按重量排序,並按體積排序。

我無法爲Ship類設置工具Comparable<(?)>接口。

起初我嘗試傳遞一個名爲Value的類,它具有一個代表其類型和浮點值的枚舉。我有一個CompareTo方法,看起來像這樣:

return int CompareTo(Value arg0) 

switch (arg0.type()) 

case WEIGHT: 
    return this._weight.compareTo(arg0.value); 

... 
+0

請參閱[internet]上的示例(http://www.roseindia.net/answers/viewqa/Java-Beginners/26582-Java-Comparable-Example.html) – MaxZoom

+0

您給出的示例是使用Comparable(我在那裏舉了一個例子,但是隨着問題的發展,我正在尋找這兩種方法,如果管理員可以顯示我的問題的重複,那麼很好,但最終我得到了cookie,因爲我沒有正式接近 – LostMinty

回答

1

你最好是具有兩個比較一個比較基於重量和一個基於體積和使用那些比較排序需求的更好。

+0

謝謝你是100%正確的,我概述了我所遇到的代碼,我使用了可比的派生比較器,但是我可以用Ship對象和枚舉創建一個新的比較器 – LostMinty