在 Scala 中列印陣列

Suraj P 2023年1月30日 2022年5月18日
  1. 使用 for 迴圈列印陣列元素
  2. 使用 foreach 迴圈列印陣列元素
  3. 使用 mkstring() 方法列印陣列的元素
  4. 將陣列轉換為另一個 Scala 集合
  5. 使用 ScalaRunTime 物件列印陣列的元素
在 Scala 中列印陣列

陣列是儲存相似資料的資料結構/集合。在 Scala 中,陣列等價於 Java native Arrays

當我們嘗試在 Scala 中列印陣列的內容時,我們會得到 Array.toString 方法的輸出,在大多數情況下是物件 hashcode

本文將向你展示如何使用 Scala 以各種方式列印陣列。

使用 for 迴圈列印陣列元素

最常用的解決方案是在 Scala 中列印陣列的 for 迴圈。我們遍歷陣列元素並一一列印它們。

這裡陣列索引用於訪問元素。

語法:

for(i <- 0 to array_name.length-1)
        print(array_name[i])

示例程式碼:

object MyClass {

    def main(args: Array[String]):Unit= {

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        println("Array elements are : ")
        for(i <- 0 to marks.length-1 )
            print(marks(i) + " ")
    }
}

輸出:

Array elements are :
97 100 69 78 40 50 99

使用 foreach 迴圈列印陣列元素

foreach 中,如果我們想在一行中輸出,我們也可以寫 printprintf

語法:

array_name.foreach(println)

示例程式碼:

object MyClass {

    def main(args: Array[String]):Unit= {

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        println("Array elements are : ")
        marks.foreach(println)
    }
}

輸出:

Array elements are :
97
100
69
78
40
50
99

下一個示例顯示了一個可以輕鬆擴充套件到多維陣列的迴圈概念。

示例程式碼:

object MyClass {

    def main(args: Array[String]):Unit= {

        var arr = Array(Array(11, 22, 33, 44, 55),
                       Array(111,222, 333, 444, 555))

        for(i<- 0 to 1)
        {
            for(j<- 0 to 4)
            {
                print(" "+arr(i)(j))
            }
            println() //for empty line
        }
    }
}

輸出:

 11 22 33 44 55
 111 222 333 444 555

使用 mkstring() 方法列印陣列的元素

我們將首先將陣列轉換為字串,然後列印該字串。使用 mkstring() 方法將 Array 元素逐個元素轉換為字串表示形式。

示例程式碼:

object MyClass {

    def main(args: Array[String]):Unit= {

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        print(marks.mkString(", "))
    }
}

輸出:

97, 100, 69, 78, 40, 50, 99

mkString() 中,我們通過 , 來列印逗號分隔的輸出。

將陣列轉換為另一個 Scala 集合

雖然這不是一個常用的解決方案,但我們可以將陣列轉換為另一個 Scala 集合,如 List,然後直接列印它。我們將使用 toList 方法將陣列轉換為 List。

示例程式碼:

object MyClass {

    def main(args: Array[String]):Unit= {

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        val l = marks.toList
        print(l)
    }
}

輸出:

List(97, 100, 69, 78, 40, 50, 99)

使用 ScalaRunTime 物件列印陣列的元素

另一種解決方案是使用 ScalaRunTime 物件。

示例程式碼:

object MyClass {

    def main(args: Array[String]):Unit= {

        var marks = Array(97, 100, 69, 78, 40, 50, 99)
        print(runtime.ScalaRunTime.replStringOf(marks, marks.length))
    }
}

輸出:

Array(97, 100, 69, 78, 40, 50, 99)
Author: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

相關文章 - Scala Array