2017-05-03 24 views
2

val list = List((1,'o'), (3,'t'), (10, 't'), (7, 's'))のようなリストがあるとします。scala - 最初の要素の値でリスト内のペアを見つけよう

次に、最初の要素が10で、2番目の要素が無視されているペアを探したいとします。

ペアのペアまたはインデックスはどのようにして見つけることができますか?

私はlist.indexOf((10,_))list.indexOf((10,???))などを試しました。しかし、あなたが知っているように 、これらの試行は間違っています。

任意の提案は、インデックスを見つけるために歓迎:)

答えて

5

使用indexWhereです:

list.indexWhere(_._1 == 10) 

あなたがペアをしたい場合は、find使用することができます。findが返す

list.find(_._1 == 10) 

注意をオプションは何も見つからない可能性があるためです。あなたがgetOrElse使用できるデフォルト値を返すようにしたい場合は、そうでなければ、見つからない場合に対処する必要があります。

list.find(_._1 == 10).getOrElse(/* default value */) 
+0

はどうもありがとうございました!これは私が欲しいものです。 – yakkisyou

関連する問題