[英]How can I iterate a scala collection using a loop?
我知道我可以使用x.foreach {...}语法,但是我想显式地使用循环。 我该如何在Scala中做到这一点? 我尝试使用以下代码,但它抱怨hasNext和next不是Iterable [T]的成员。
while (it.hasNext)
println("\t" + it.next.toString())
Iterable
没有next
或hasNext
, Iterator
有。
因此,您的代码需要更改为以下内容:
val i = it.iterator
while (i.hasNext) println("\t" + i.next.toString())
但是请注意,这根本不是惯用的Scala。
您可以使用println(it.mkString("\\t","\\t",""))
来实现相同的println(it.mkString("\\t","\\t",""))
采用
val iter = it.iterator
while (iter.hasNext) {
println("\t" + iter.next.toString())
}
还考虑map
,
it.iterator.map(i => "\t" + i.toString())
以及理解力
for (i <- it.iterator) yield "\t" + i.toString()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.