带有示例的 Scala 迭代器 indexWhere() 方法
indexWhere()方法属于 Scala 中迭代器类的具体值成员。此方法将找到满足所述谓词的迭代器的第一个值的位置。
- 方法定义:
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。