Tôi đang cố gắng để mixin các MultiMap
đặc điểm với một HashMap
như vậy:Multimap trong Scala
val children:MultiMap[Integer, TreeNode] =
new HashMap[Integer, Set[TreeNode]] with MultiMap[Integer, TreeNode]
Định nghĩa cho MultiMap
đặc điểm là:
trait MultiMap[A, B] extends Map[A, Set[B]]
Nghĩa là một MultiMap
các loại A
& B
là Map
trong số các loại A
& Set[B]
, hoặc có vẻ như vậy đối với tôi. Tuy nhiên, trình biên dịch phàn nàn:
C:\...\TestTreeDataModel.scala:87: error: illegal inheritance; template $anon inherits different type instances of trait Map: scala.collection.mutable.Map[Integer,scala.collection.mutable.Set[package.TreeNode]] and scala.collection.mutable.Map[Integer,Set[package.TreeNode]]
new HashMap[Integer, Set[TreeNode]] with MultiMap[Integer, TreeNode]
^one error found
Có vẻ như generics đang vấp ngã tôi một lần nữa.
Nó thực sự scala.collection._ :-) – fikovnik
Ngay bạn! Cố định, cảm ơn rất nhiều. – Calum