0
在斯卡拉排序,我需要創建一個包含以下內容的結構:結構的值,而不是鍵
- 一個
Bitset
- 代表是佔據一些細胞或不 - 的
Int
- 最後一個單元格佔用 - 一個
Int
- 本職業
的成本,因爲一個元素唯一地由的組合識別代表佔據細胞和Int
代表的最後一個單元所佔據,我嘗試使用以下:
var tm = TreeMap.empty[Path, Int]
其中Path
是:
case class Path(occupied: BitSet, last: Int)
然而,問題是,我想中的元素進行排序TreeMap
由他們的成本(所以由他們的價值)。這顯然不適用於TreeMap
。
所以我可以有一個結構,我的價值而不是關鍵的元素排序?
謝謝!我想通過'occup'和'last'來唯一標識'Path'元素,而不是'cost'。我可以使用'SortedSet'來做到這一點嗎? – octavian
@octavian是的,如果您將'cost'定義爲方法(參見上面的代碼)或第二個構造函數參數列表,例如'case class Path(佔用:BitSet,last:Int)(val cost:Int)'。案例類的身份只考慮第一個列表的參數。 –
'case class Path(佔用:BitSet,last:Int)(val cost:Int)'不適用於我。當我嘗試實例化類時出現錯誤: '錯誤:缺少構造函數的路徑類路徑中的路徑 新路徑(newBs,newLast)' – octavian