我有一个像这样的Set变量
val setValues= Set (10,20,30,40)
我想将其中一个分配给其他变量,例如30。我怎么能这样做?
例如在我们有数组的其他语言中,我们可以写
int a=array(2)
并将数组的位置3的值赋给变量'a' 但是如何将“Set”值的位置2的值赋给其他变量或者检查它是否等于80?
我试过例如setValues(2),setValues-> 2但是在这个例子中结果不是30
答案 0 :(得分:3)
Set
=无序集。 Seq
=可索引序列
val seqValues = Seq(10,20,30,40)
seqValues(2)
为了获得更好的性能,请使用具有快速访问权限的IndexedSeq
。 seqValues(2)
是seqValues.apply(2)
的缩写。
答案 1 :(得分:2)
集合是无序的,所以你需要一些方法来挑选一个特定的元素 - 但如果你已经拥有那个确切的元素,你就不需要从集合中获取它(你已经得到了它!)。也许
val x = Set((0,"fish"),(1,"dish"),(2,"wish")).find(_._1 == 1).get
是你想要的(即find
一个服从某些条件而不是完全相等的元素;这会返回Option
,如果找到它,你可以get
吗?
答案 2 :(得分:0)
琐碎的答案?
val value = Set (10,20,30,40)
val variable = 30
您需要更具体地说明用于选择将哪个项目设置为变量的标准。使用Set
时,您不能选择第一个或最后一个项目,因为Set
是无序的。但可以,例如将变量设置为max或min:
val variable = value.max