-2

我有一个这样的 Set 变量

val setValues= Set (10,20,30,40)

我想将其中一个分配给其他变量,例如 30。我怎样才能做到这一点?

例如在其他语言中,当我们有数组时,我们可以写

int a=array(2) 

它会将数组位置 3 的值分配给变量“a”但是如何将“集合”值的位置 2 的值分配给其他变量或检查它是否等于 80?

我尝试了例如 setValues(2), setValues->2 但在这个例子中结果不是 30

4

3 回答 3

3

Set= 无序集。Seq= 可索引序列

val seqValues = Seq(10,20,30,40)
seqValues(2)

为了获得更好的性能,请使用IndexedSeq访问速度快的。seqValues(2)是 的缩写seqValues.apply(2)

于 2012-08-20T21:48:58.300 回答
2

集合是无序的,所以你需要一些方法来挑选一个特定的元素——但是如果你已经有了那个确切的元素,你就不需要从集合中获取它(你已经得到了它!)。也许

val x = Set((0,"fish"),(1,"dish"),(2,"wish")).find(_._1 == 1).get

是你想要的(即find,一个遵循完全相等以外的某些条件的元素;如果找到它,它会返回一个Option你可以get找到的元素)?

于 2012-08-20T20:42:31.160 回答
0

琐碎的答案?

val value = Set (10,20,30,40)
val variable = 30

您需要更具体地了解用于选择将哪个项目设置为变量的标准。例如,对于 a Set,您不能选择第一项或最后一项,因为Sets 是无序的。但是,您可以执行一些操作,例如将变量设置为最大值或最小值:

val variable = value.max
于 2012-08-20T20:01:01.207 回答