Je suis encore un programmeur Scala débutant, alors désolé si cette question peut paraître naïve, mais j'ai cherché pendant un certain temps et je n'ai trouvé aucune solution. J'utilise Scala 2.8, et j'ai une classe PXGivenZ définie comme :
class PXGivenZ (val x:Int, val z:Seq[Int], val values: Map[Seq[Int], Map[Int, Double]] ){...}
Lorsque j'essaie d'instancier un élément de cette classe dans un autre bloc de programme comme celui-ci :
// x is an Int
// z is a LinkedList of Int
...
var zMap = new HashMap[Seq[Int], HashMap[Int, Double]]
...
val pxgivenz = new PXGivenZ(x, z, zMap)
Je reçois l'erreur suivante :
found : scala.collection.mutable.HashMap[Seq[Int],scala.collection.mutable.HashMap[Int,Double]]
required: Map[Seq[Int],Map[Int,Double]]
val pxgivenz = new PXGivenZ(x, z, zMap)
^
Il y a clairement quelque chose que je ne comprends pas : en quoi une Map[Seq[Int],Map[Int,Double]] est-elle différente d'une HashMap[Seq[Int], HashMap[Int,Double]] ? Ou y a-t-il un problème avec les classes "mutables" ?
Merci d'avance à tous ceux qui m'aideront !