Ich versuche, die MultiMap
Eigenschaft mit einem HashMap
wie so mixin:MultiMap in Scala
val children:MultiMap[Integer, TreeNode] =
new HashMap[Integer, Set[TreeNode]] with MultiMap[Integer, TreeNode]
die Definition für das MultiMap
Merkmal ist:
trait MultiMap[A, B] extends Map[A, Set[B]]
Was bedeutet, dass ein MultiMap
von Typen A
& B
ist ein Map
der Typen A
& Set[B]
, oder so scheint es mir. Allerdings beschwert sich der Compiler:
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
Es scheint, dass Generika mich wieder stolpern.
Es ist eigentlich scala.collection._ :-) – fikovnik
Sie haben recht! Fest, vielen Dank. – Calum