这里使用Iterator迭代数组值并逐个打印。
或[我的语言不好]
我想使用迭代逐个打印数组值
package com.aitrich.collection
object IteratorDemo {
def main(args: Array[String]) {
var myList = Array("a", "number", "of", "words")
var l=myList.length
for( i <- 0 to l){
var Lst:String=myList.toString()
val it = Iterator(l.formatted(Lst))
while (it.hasNext){
println(it.next())
}
}
}
}
但输出显示
[Ljava.lang.String;@aad33f6
[Ljava.lang.String;@aad33f6
[Ljava.lang.String;@aad33f6
[Ljava.lang.String;@aad33f6
[Ljava.lang.String;@aad33f6
答案 0 :(得分:4)
在Scala中,避免使用索引处理集合更为惯用:
val myList = Array("a", "number", "of", "words")
myList.foreach(s => println(s))
请注意Iterator(a)
创建一个迭代器,其中包含单个元素a
。
如果要使用元素的索引作为前缀:
myList.zipWithIndex.foreach{ case (s, i) => println(s"$i: $s")}
// 0: a
// 1: number
// 2: of
// 3: words