-2

私はこのようなSet変数を持っています

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

それらの1つ、たとえば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

どの項目を変数に設定するかを選択するために使用する基準について、より具体的にする必要があります。たとえば、の場合、は順序付けされていないSetため、最初または最後のアイテムを選択することはできません。ただし、変数を最大値または最小値に設定するようなSetことはできます。

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