HashMap只有一个元素而不是三个元素

时间:2017-06-09 14:25:09

标签: scala functional-programming hashmap

我在Scala中填充HashMap,如下所示:

val hashMap = new HashMap[P, List[T]]() { list.map(x => put(x.param1, x.param1.elements)) }

问题是,hashMap的大小只有1而list的大小为3。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您将命令式命令(undefinedput)与功能结构(new HashMap)混合在一起。这样做不太好。

你应该做什么(如果我正确理解你的目标):

map

另外,请注意,如果列表中的多个元素具有相同的list.map(x => x.param1 -> x.param1.elements).toMap[P, List[T]] ,则只会保留最后一个元素,因为param1只能为给定的密钥设置一个值。