获取迭代器的第n个元素

时间:2014-03-07 10:38:32

标签: scala

我有一个scala Iterator [A]。我怎样才能引用它的第n个元素?

例如:

val myIter: Iterator[Seq[String]] = { .... }

//get the size of the Iterator

val s = myIter.size

//get 3rd element (base 0)

val third:Seq[String] = myIter.get(2)  <---- Something like this?

我可能误读了文档,但找不到能够轻松完成此功能的功能。谢谢你的帮助

2 个答案:

答案 0 :(得分:6)

如果你想危险地生活,

myIter.drop(2).next

或者你宁愿安全

myIter.drop(2).take(1).toList.headOption

答案 1 :(得分:1)

非常简单

myIter.slice(n,n+1).toList.headOption

Drop.take将从一开始就获得所有元素。切片的内存效率更高