Scala迭代器indexWhere()方法及其示例
indexWhere()方法属于Scala迭代器类(iterator class)的具体值成员。此方法将查找第一个满足所述断言的迭代器值的位置。
- 方法定义:
def indexWhere(p: (A) => Boolean): Int
其中,p是所述断言。
- 返回类型:
它返回迭代器中第一个满足所述断言的值的索引,如果迭代器中没有满足所述断言的值,则此方法返回-1。
示例:
// Scala program of indexWhere()
// method
// Creating object
object GfG
{
// Main method
def main(args:Array[String])
{
// Declaring an iterator
val iter = Iterator(3, 1, 4, 9, 6)
// Applying indexWhere method
// with a predicate
val result = iter.indexWhere(x=>{x % 2==0})
// Displays output
println(result)
}
}
2
在这里,给定的断言被迭代器中第三个位置即索引2的值满足,因此返回2。
示例:
// Scala program of indexWhere()
// method
// Creating object
object GfG
{
// Main method
def main(args:Array[String])
{
// Declaring an iterator
val iter = Iterator(3, 1, 7, 9, 15)
// Applying indexWhere method
// with a predicate
val result = iter.indexWhere(x=>{x % 2==0})
// Displays output
println(result)
}
}
-1
在这里,迭代器的任何值都不满足所述断言,因此在这种情况下返回-1。
阅读更多:Scala 教程
极客教程