Scala Iterator indexWhere() 方法及示例
indexWhere()方法属于Scala中Iterator类的具体数值成员。该方法将找到Iterator中满足所述谓词的第一个值的位置。
- 定义:
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
这里,给定的谓词被Iterator在第三个位置的值所满足,即索引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
在这里,所述谓词不被Iterator的任何值所满足,因此,在这种情况下返回-1。
极客教程