3
我知道有一个类似的问题问,但我不能找出解决这个问题(如果我有一个不变的设置不变地图)添加元素阶集这是一个不可变的映射
我有以下方法,它旨在将一个Car类型的对象添加到一组Car对象中。与Map的情况下类:
case class People(demo:Map[Person,Set[Car]] = Map()) {
,每一个汽车对象有型人的名字参数,它具有以下方法,旨在车添加到组的人,返回的新实例人。
def +(c:Car): People = {
每辆车的名称变量都与汽车应映射到的人物相关。所以c.name可以用来检索我应该添加汽车的钥匙。即
var nameOfPerson = c.name
demo(nameOfPerson) += c //Complains that += is not a member of Set
我试着用不同的方式加入过多的这款车,包括在这个问题提出了解决方案:Adding element to a scala set which is a map value
但不幸的是,它不断声称一套价值+ =不是一个成员。我也尝试添加作为参数到返回的实例:
People(demo + (c.name, c))
但这一直声称是必需的,指向c.name ..
任何帮助是很大的(?,?)赞赏
PS我期待追加到集合,如果映射已经存在,不能覆盖它