![](/img/trans.png)
[英]Scala Spark java.lang.VerifyError: class scala.collection.mutable.WrappedArray overrides final method toBuffer.()
[英]Update method in mutable HashSet class in Scala
Scala的可变集合中的HashSet类支持update方法。
但是,名称update
似乎违反直觉(对我而言至少)。 从这里的文档中说
此方法允许根据所包含参数的值在此集合中添加或删除元素elem。 通常,将使用以下语法:set(elem)= true
我尝试在Scala控制台上使用update
。 当我调用update(elem, true)
而不是用新版本更新elem时,当元素存在时它什么也没做。
当update(elem,false)时,它删除了elem。
我的问题是update
方法的目的是什么,因为它不updating
任何内容
我认为更新是针对集合而不是集合中的元素的(“更新”元素没有意义,它仅对具有键-值关系的集合有意义),实际上如果您查看源代码,此方法会更新集合:
def update(elem: A, included: Boolean) {
if (included) this += elem else this -= elem
}
因此,基本上可以使用included
可变告诉阉添加或删除元素,在你的情况下添加两次相同的元素不会给你任何更新,因为一组不允许重复。
为什么我会使用update
而不是add
或remove
update
,这超出了我的理解范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.