scala - 仅使用第一个元素值在列表中查找对

yak*_*you 2 dictionary scala list

假设我们有一个如下列表:val list = List((1,'o'), (3,'t'), (10, 't'), (7, 's')).

然后我想找到一个第一个元素的对10,忽略第二个元素是什么.

如何找到货币对或该货币对的指数?

我试过了list.indexOf((10,_)),list.indexOf((10,???))等等.但是,如您所知,这些尝试都是错误的.

欢迎任何建议:)

nma*_*mat 5

使用indexWhere查找索引:

list.indexWhere(_._1 == 10)
Run Code Online (Sandbox Code Playgroud)

如果你想要这对你可以使用find:

list.find(_._1 == 10)
Run Code Online (Sandbox Code Playgroud)

请注意,find返回一个选项,因为它可能找不到任何元素.如果要返回可以使用的默认值getOrElse,否则需要处理未找到的案例:

list.find(_._1 == 10).getOrElse(/* default value */)
Run Code Online (Sandbox Code Playgroud)