Scala';s+;=可变集合的方法

Scala';s+;=可变集合的方法,scala,collections,queue,Scala,Collections,Queue,scale可变集合的+=方法在幕后转换成了什么 例如,如果我在可变队列上执行+=操作,这是否等同于执行排队?对于可变集合上的-=?+=也是如此,这只是对+=的普通方法调用。您可能正在使用中缀符号编写它,如下所示: intList += 5 这相当于: intList.+=(5) scala.collection.mutable.Queue上没有-=方法 scale可变集合的+=方法在幕后转换成了什么 它没有被翻译成任何东西。它调用给定对象上名为+=的方法 如果我在可变队列上执行+=操作,这是

scale可变集合的+=方法在幕后转换成了什么


例如,如果我在可变队列上执行+=操作,这是否等同于执行排队?对于可变集合上的-=?

+=
也是如此,这只是对
+=
的普通方法调用。您可能正在使用中缀符号编写它,如下所示:

intList += 5
这相当于:

intList.+=(5)
scala.collection.mutable.Queue上没有
-=
方法

scale可变集合的+=方法在幕后转换成了什么

它没有被翻译成任何东西。它调用给定对象上名为
+=
的方法

如果我在可变队列上执行+=操作,这是否等同于执行排队

如果查看
Queue.+=
Queue.enqueue
1的文档,它们是相同的,只是
enqueue
可以接受多个参数。因此,是的,可变队列上的
+=
相当于使用单个参数排队


1从文件中引用:

在队列末尾插入单个元素

参数
  • 元素-要插入的元素

将所有元素添加到队列中

参数
  • 元素-要添加的元素
根据
队列实现为:

def enqueue(elems: A*): Unit = this ++= elems
出列
代码更复杂,不等同于
-=
,因为
队列
没有
-=
方法

def enqueue(elems : A*) : Unit
def enqueue(elems: A*): Unit = this ++= elems