Scala添加到空映射

Scala添加到空映射,scala,Scala,我在列表中有一个可变映射,如下所示: val aListMap = List(Map[StringType, Any]) 我想向地图中添加键值对,如下所示: aListMap(0) += ("aKey", "anElem") 我得到类型不匹配:预期字符串,实际:字符串,字符串。是否有不同的语法来执行此操作?结果是,我不得不在Map声明的末尾添加括号,因为我对Scala还不太熟悉,所以还不知道这可以实现什么: val aListMap = List(Map[StringType, Any]()

我在列表中有一个可变映射,如下所示:

val aListMap = List(Map[StringType, Any])
我想向地图中添加键值对,如下所示:

aListMap(0) += ("aKey", "anElem")

我得到类型不匹配:预期字符串,实际:字符串,字符串。是否有不同的语法来执行此操作?

结果是,我不得不在Map声明的末尾添加括号,因为我对Scala还不太熟悉,所以还不知道这可以实现什么:

val aListMap = List(Map[StringType, Any]())
然后我可以添加如下内容:

aListMap(0) += ("aKey" -> "anElem")

你知道那里有地图列表吗?这就是您想要的吗?您应该能够执行Alismap0akey=anElem。我想要一个列表,其中第一个元素是Map。这是一样的吗?好吧,每个元素都是一个映射,而不仅仅是第一个。我还注意到,这里的最后一行有->而不是.Map[StringType,Any],从技术上讲,它只是一个类型,而不是一个空映射。正如您所发现的,您可以使用map[StringType,Any]创建一个空映射。您还可以使用Map.empty[StringType,Any],这可能更易于阅读。我很困惑,aKey不是StringType类型,而是String@KevinHoerr是的,没有。在其他上下文中,理论上它也可以是表达式映射。这在几个库中广泛使用,以将类型类从隐式范围中调用出来。表达本身及其类型之间的句法相似性是有意的。