Scala数组迭代未格式化输出

时间:2013-08-17 05:19:02

标签: scala

这里使用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

1 个答案:

答案 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